0

我想建立一个数据库连接以使用 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 文件我已经创建了包含字段的表,但是我收到连接尚未建立错误任何人都可以帮助我解决我的问题吗???

4

4 回答 4

5

这个连接字符串是错误的。

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

应该

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

但是,切勿在您的应用程序中使用 sa 用户。使用 Management Studio 创建新用户或更好地使用集成安全性。

您的代码的其余部分也应该以这种方式编写

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();
}
于 2012-12-20T14:33:39.313 回答
0

使用连接字符串如下:

connectionString="Data Source=ServerAddress;Initial Catalog=DataBaseName;Integrated Security=SSPI;User ID=Domain\Username;Password=Password;"
于 2012-12-20T15:33:40.547 回答
0

此代码无法编译。您需要在此行中添加分号:

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;
于 2012-12-20T14:36:02.810 回答
0

连接字符串本身可能是问题所在,windows 有一种简单的方法来创建可以测试的有效连接字符串,然后将其复制到您的应用程序中。几个月前我在这里写过它:

应用提示:

  • 正如 asawyer 所指出的,不要使用 sa 帐户,创建一个可以访问所需数据库的登录名。

  • 使用using语句

例子:

using (SqlConnection connection = new SqlConnection(connectionString))  
    {  
      //here you open and execute the command
    }
于 2012-12-20T14:40:46.157 回答