我正在尝试基本的数据库插入,这段代码就是我在visual studio 2010中运行的代码: -
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString="Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\Administrator\\Documents\\Visual Studio 2010\\WebSites\\WebSite3\\App_Data\\name.mdf;Integrated Security=True;User Instance=True";
SqlCommand cmd = new SqlCommand("insert into names values('" + TextBox1.Text + "')");
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
我哪里错了?
答案 0 :(得分:1)
您创建了一个连接并将其打开,但您没有将其与SqlCommand
相关联。您可以通过SqlCommand
的构造函数或Connection
的{{1}}属性以两种方式执行此操作。
此外,您应该使用参数化查询来防止SQL注入攻击。我还建议将SqlCommand
放入使用块中,以确保它已关闭并妥善处理。把所有这些放在一起会给你这样的东西:
SqlConnection
答案 1 :(得分:0)
您没有分配connection to the command object。试试:
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString="Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\Administrator\\Documents\\Visual Studio 2010\\WebSites\\WebSite3\\App_Data\\name.mdf;Integrated Security=True;User Instance=True";
SqlCommand cmd = new SqlCommand("insert into names values('" + TextBox1.Text + "')");
cmd.Connection = conn; // <- this is the missing line
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}