【问题标题】:How to access SQL Server from my WCF web service?如何从我的 WCF Web 服务访问 SQL Server?
【发布时间】:2014-01-31 21:37:07
【问题描述】:

VS Express 2012、SQL Server Express 2012、Win 8.1

你好,

我有一个(非常)简单的 WCF 作为 IIS 上的 Web 服务托管。我还在同一台机器上安装了一个 SQL Server 实例(带有 1 个表)。

我需要有关如何从 WCF (VB) 连接到 SQL 并从表中检索单个记录的分步指南(即:“SELECT LAST NAME FROM MYTABLE WHERE PK = 1;”)。而已。我不需要 1,200 页的手册——这是 Google 不断向我扔的所有内容。

有人知道快速、干净的资源吗?

谢谢, 杰森

【问题讨论】:

    标签: asp.net sql vb.net wcf


    【解决方案1】:

    涉及的主要类是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 类。 请注意 - 特别是在服务器应用程序中 - 正确处理创建的实例非常重要。

    【讨论】:

      【解决方案2】:

      从所需类的角度来看,在 WCF 服务或普通应用程序中使用 ADO.NET 没有区别。

      首先需要一个连接字符串,它允许您的 SqlConnection 对象找到您想要使用的主机和数据库。 Here examples on connection strings

      然后你通常需要一个 SqlCommand 来封装检索数据所需的 SQL 文本和参数(这里你设置你的 SELECT 语句和条件)

      最后,您需要一个 SqlDataReader 来获取命令执行的结果并允许您对结果进行循环。

      Here a sample that could get you started.

      请记住,这只是一个最小的待办事项列表,还有许多其他方法可以处理数据。 SqlDataAdapter、Dataset、DataTable 等基本对象提供了从数据库加载数据和使用该数据的不同方法。除此之外,还有像 Linq To SqlObject Relational Mapper 这样的技术,它们可以抽象数据访问并在数据之上提供高级功能。

      这可能是您获得如此多数据访问技术信息的原因

      【讨论】:

        猜你喜欢
        • 2017-08-18
        • 1970-01-01
        • 2011-08-19
        • 1970-01-01
        • 2010-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多