2014-07-01 78 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()); 

我希望這會爲你工作。