[英]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和对象关系映射器工具之类的技术,它们抽象化数据访问并在数据之上提供高级功能。
这可能就是您获得大量有关数据访问技术信息的原因
涉及的主要类是SqlConnection和SqlCommand 。 这些类的文档包含一些有关如何使用它们的示例。 为了帮助您入门,这里有一个小样本:
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
本示例假定您要检索语句中的单个单元格。 如果要检索表格数据,请查看SqlDataReader或SqlDataAdapter类。 请注意,尤其是在服务器应用程序中,正确处理创建的实例非常重要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.