簡體   English   中英

如何使用C#建立數據庫(SQL)連接?

[英]How to establish database(SQL) Connection using c#?

我想建立一個數據庫連接,以使用C#接收客戶的詳細信息。 我正在使用sql-server 2008和visual studio 2010 .....

這是這段代碼:

<asp:Textbox id="TxtBox1" runat="server" />
<asp:Textbox id="TxtBox2" runat="server" />
<asp:Button id="Button1" runat="server" Onclick="Button1_Click" />

和背后的代碼:

protected void Button1_Click(Object sender,EventArgs e)
{
string Text1=TextBox1.Text;
string Text2=TextBox2.Text;
string connectionString="Data Source=servername;InitialCatalog=DataBaseNameUserID=sa;  Password=YourPassword;"

SqlConnection sqlConnection=new SqlConnection(connectionString);

string insertStatement="INSERT INTO TableName(column1,column2) VALUES Txtb1+","+Txtb2";

SqlCommand sqlCommand=new SqlCommand(insertStatement,sqlConnection);

try
{
sqlConnection.Open();
sqlCommand.ExecuteNonQuery();

}
finally
{
sqlConnection.Close();
}


}

我已經在其中創建了data.mdf文件,已經創建了包含字段的表,但是我無法獲得連接未建立的錯誤,有人可以幫助我解決我的問題嗎???

該連接字符串錯誤。

string connectionString="Data Source=servername;InitialCatalog=DataBaseNameUserID=sa;" + 
                        "Password=YourPassword;"

應該

string connectionString="Data Source=servername;InitialCatalog=DataBaseName; UserID=sa;" + 
                        "Password=YourPassword;"

但是,切勿在應用程序中使用sa用戶。 使用Management Studio創建新用戶或更好地使用Integrated Security。

另外,您的其余代碼也應以這種方式編寫

using(SqlConnection sqlConnection=new SqlConnection(connectionString))
{
     string insertStatement="INSERT INTO TableName(column1,column2) VALUES (@col1, @col2)";
     SqlCommand sqlCommand=new SqlCommand(insertStatement,sqlConnection);
     sqlCommand.Parameters.AddWithValue("@col1", Text1);
     sqlCommand.Parameters.AddWithValue("@col2", Text2);
     sqlConnection.Open();
     sqlCommand.ExecuteNonQuery();
}

此代碼無法編譯。 您需要在此行添加分號:

string connectionString="Data Source=servername;InitialCatalog=DataBaseNameUserID=sa;  Password=YourPassword;"

像這樣:

string connectionString="Data Source=servername;InitialCatalog=DataBaseNameUserID=sa;  Password=YourPassword;";

您還需要更改此行:

string insertStatement="INSERT INTO TableName(column1,column2) VALUES Txtb1+","+Txtb2";

對此:

string insertStatement = "INSERT INTO TableName(column1,column2) VALUES " + Text1 + ", " + Text2;

連接字符串本身可能是問題,Windows提供了一種簡單的方法來創建可以測試的有效連接字符串,然后將其復制到您的應用中。 我幾個月前在這里寫過:

應用提示:

  • 正如asawyer所指出的,不要使用sa帳戶,而是創建具有訪問所需數據庫權限的登錄名。

  • 使用using語句

例:

using (SqlConnection connection = new SqlConnection(connectionString))  
    {  
      //here you open and execute the command
    }

使用連接字符串,如下所示:

connectionString="Data Source=ServerAddress;Initial Catalog=DataBaseName;Integrated Security=SSPI;User ID=Domain\Username;Password=Password;"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM