从.NET Web服务中的远程sql server获取数据

时间:2016-07-21 11:46:04

标签: c# sql-server visual-studio web-services

我使用C#在visual studio 2015中创建了一个简单的Web服务。我已经设置了一个带有表的sql server数据库,我只想从该表中返回任何值。

通过搜索,我没有找到一个非常有说明性的教程。

我应该在VS中添加服务器连接然后使用linq还是使用SqlConnection?

我还在项目中包含了一个ADO实体数据模型,但我不知道如何在webMethod中使用它。

关于我必须连接到数据库的所有选项是否存在任何好的教程并提供一些示例?

1 个答案:

答案 0 :(得分:1)

由于它是一个Web应用程序,我建议将连接字符串保存到web.config中。 例如:

<connectionStrings>
  <add name="ConnStringNameHere" connectionString="Data Source=IPadress;Initial Catalog=databaseName;Integrated Security=False;User ID=name;Password=pass" providerName="System.Data.SqlClient" />
</connectionStrings>

您只需使用适当的权限在SQL Server中添加用户即可。 这样你就可以拥有几个连接字符串,每个字符串都有一个具有特定权限的用户类型(有些只能读,有些可以写,等等) 使用以下简单代码建立与数据库的连接:

using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["connStringName"].ConnectionString))
using (SqlCommand cmd = new SqlCommand("SELECT * FROM user WHERE userName = username", connection))
{
connection.Open();
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
  while (reader.Read())
  {
   string id = (string)reader["Id"].ToString();
   //work here
  }
}
connection.Close();
}

一个有用的链接:http://www.codeproject.com/Articles/837599/Using-Csharp-to-connect-to-and-query-from-a-SQL-da