在Web服务中使用sql

时间:2012-01-27 14:20:04

标签: c# asp.net sql web-services

我想在c#

中的webservice中运行一些sql代码

代码只是

[WebMethod]
public void GetCustomers()
{
   SqlConnection MyConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Database1.mdf"].ConnectionString);
}

我认为我在这个陈述中出了点问题

  • 现在我的数据库名称为:Database1.mdf
  • 现在它的表名是:t1

我收到类似

的错误
  

System.NullReferenceException:未将对象引用设置为实例   一个对象。在WebService1.Service1.GetCustomers()中   C:\ Users \ PRIYANK \ Documents \ Visual Studio   2008 \ Projects \ WebService1 \ WebService1 \ Service1.asmx.cs:第36行

我不知道写什么来代替[Database1.mdf]所以请写下在那个地方写的内容。

这里我放置一些可能有用的代码

[WebMethod]
public void GetCustomers()        
{
    SqlConnection MyConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Database1"].ConnectionString); 

    MyConn.Open();

    SqlCommand cmd = new SqlCommand();
    cmd.Connection = MyConn;

    cmd.CommandText = "delete from t1 where name='1'";   

    cmd.ExecuteNonQuery();
}

1 个答案:

答案 0 :(得分:3)

您不应将数据文件的名称放在ConnectionString[]元素位置。您应该放置 ConnectionString 的名称。换句话说,请在config文件中查看<connectionStrings>部分所在的位置。您将看到name=...的连接字符串。在你的:

中使用它
ConfigurationManager.ConnectionStrings["YourConnectionStringName"].ConnectionString

实施例

以下是示例配置中的示例:

<connectionStrings>
  <add name="Sales" 
       providerName="System.Data.SqlClient"
       connectionString= "server=myserver;database=Products;uid=<user name>;pwd=<secure password>" />
</connectionStrings>

如果您想为SqlConnection数据库创建Products,您可以这样:

SqlConnection ProdDb = 
    new SqlConnection(ConfigurationManager.ConnectionStrings["Sales"].ConnectionString);