簡體   English   中英

如何從WCF Web服務訪問SQL Server?

[英]How to access SQL Server from my WCF web service?

VS Express 2012,SQL Server Express 2012,Win 8.1

你好,

我有一個(非常)簡單的WCF作為IIS上的Web服務托管。 我也在同一台計算機上安裝了一個SQL Server實例(帶有1個表)。

我需要有關如何從WCF(VB)連接到SQL並從表中檢索單個記錄的逐步指南(即:“從MYTABLE WHERE PK = 1中選擇姓氏”)。 而已。 我不需要一本1200頁的手冊,這是Google一直向我扔的所有手冊。

有人知道快速,干凈的資源嗎?

謝謝,傑森

從所需類的角度來看,在WCF服務或普通應用程序中使用ADO.NET並沒有區別。

所需的第一件事是允許您的SqlConnection對象找到要使用的主機和數據庫的連接字符串。 這里是關於連接字符串的例子

然后,通常需要一個SqlCommand,其中封裝了檢索數據所需的SQL文本和參數(在此處設置SELECT語句和條件)

最后,您需要一個SqlDataReader來獲取命令執行的結果,並允許您遍歷結果。

這里有一個示例,可以幫助您入門。

請記住,這只是一個最小的待辦事項清單,還有許多其他處理數據的方法。 諸如SqlDataAdapter,Dataset,DataTable之類的基本對象提供了從數據庫加載數據和使用該數據的不同方法。 然后在這些之上,還有諸如Linq To Sql對象關系映射器工具之類的技術,它們抽象化數據訪問並在數據之上提供高級功能。

這可能就是您獲得大量有關數據訪問技術信息的原因

涉及的主要類是SqlConnectionSqlCommand 這些類的文檔包含一些有關如何使用它們的示例。 為了幫助您入門,這里有一個小樣本:

Dim connStr = "Data Source=SQLServerName\InstanceName;Initial Catalog=DatabaseName;Integrated Security=SSPI"
Using conn As New SqlConnection(connStr)
    conn.Open()
    Using cmd = conn.CreateCommand()
        cmd.CommandText = "SELECT LAST_NAME FROM MYTABLE WHERE PK = @pk"
        cmd.Parameters.AddWithValue("@pk", 1)
        Dim result = cmd.ExecuteScalar()
        If Typeof result Is DbNull Then
            ' Handle null value
        Else
            ' Otherwise
        End If
    End Using
End Using

本示例假定您要檢索語句中的單個單元格。 如果要檢索表格數據,請查看SqlDataReaderSqlDataAdapter類。 請注意,尤其是在服務器應用程序中,正確處理創建的實例非常重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM