2014-07-01 33 views
1

当设置sqlconnection时遇到问题。 这是我的Web.Config文件:正确设置SqlConnection字符串

<configuration> 
    <system.web> 
     <compilation debug="true" targetFramework="4.5" /> 
     <httpRuntime targetFramework="4.5" /> 
    </system.web> 
    <connectionStrings> 
    <add name="SimpleDB" 
     connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\FluksikartoN\Documents\SimpleDB.mdf;Integrated Security=True;Connect Timeout=30" 
     providerName=".NET Framework Data Provider for SQL Server"/> 
    </connectionStrings> 
</configuration> 

所以基本上我想排“你好”添加到名为“书”它只有caled“名称”按钮点击一个字符串列SQL表,但我得到的错误: “[Win32Exception (0x80004005): The network path was not found]”,我没有看到sqlconnection设置中的任何错误。

aspx.cs文件:

using System.Web; 
    using System.Web.UI; 
    using System.Web.UI.WebControls; 
    using System.Data.SqlClient; 
    using System.Web.Services; 

    namespace ProjectWWW 
    { 
     public partial class WebForm1 : System.Web.UI.Page 
     { 
      [System.Web.Services.WebMethod]  
      public static string InsertData(string ID){ 
       string connectionString = "Data Source=(LocalDB)\v11.0;AttachDbFilename=C:/Users/FluksikartoN/Documents/SimpleDB.mdf;Integrated Security=True;Connect Timeout=30"; 
       using (SqlConnection con = new SqlConnection(connectionString)) 
        { 
         using (SqlCommand cmd = new SqlCommand("Insert into Book (Name) values(@Name)", con)) 
         { 
          con.Open(); 
          cmd.Parameters.AddWithValue("@Name", ID); 
          cmd.ExecuteNonQuery(); 
          con.Close(); 
          return "True"; 
         } 
        } 
     } 




     protected void Button1_Click(object sender, EventArgs e) 
     { 
      InsertData("hELLO"); 
     } 
+2

只是出于好奇,你为什么要在web.config中插入连接字符串,然后不使用它?您在代码中硬编码相同的连接字符串。 –

回答

1

为什么不使用Web.Config中的连接字符串

string connectionString = ConfigurationManager.ConnectionStrings["SimpleDB"].ToString(); 

没有必要页上指定连接字符串时,你已经在Web.Config中

指定,
+0

好,但我应该使用什么库这种方法 –

+0

你应该包括'System.Configuration'命名空间,就像这样'使用System.Configuration' –

+0

仍然强调为错误 –

5

你改变反斜杠正斜杠。改回来,用@不把他们当作转义字符:

string connectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\FluksikartoN\Documents\SimpleDB.mdf;Integrated Security=True;Connect Timeout=30"; 

app.config只是拉它,因为你把它放在那里还有:

string connectionString = ConfigurationManager.ConnectionStrings["SimpleDB"]; 
+0

圣洁耶稣感谢这困扰我连续3天即时新的和我恨这种错误理解失败我 –

0

您可以简单地使用像这样在你的.cs文件

SqlConnection con = new SqlConnection(System.Configuration.CofigurationManager.ConnectionString["SqlConn"].ConnectionString.ToString()); 

我希望这会为你工作。