繁体   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