类型为';系统InvalidOperationException';发生在系统中.Data.dll-C#vi
本文关键字:系统 Data dll-C#vi InvalidOperationException 类型 | 更新日期: 2023-09-27 18:00:48
我有这样的代码行,当我试图将数据保存到数据库时,显示了错误:
类型为"System"的未处理异常。系统中出现InvalidOperationException。Data.dll
附加信息:ExecuteNonQuery:一个专有的连接não foi inicializada。
你们能帮忙吗?
SqlConnection cn = new SqlConnection(@"Data Source=(LocalDB)'v11.0;AttachDbFilename=C:'basededadospap.mdf;Integrated Security=True;Connect Timeout=30");
SqlCommand cmd = new SqlCommand();
private void button1_Click(object sender, EventArgs e)
{
if (textBox4.Text != "" & textBox2.Text != "")
{
{
using (var connection = new SqlConnection(@"Data Source=(LocalDB)'v11.0;AttachDbFilename=C:'basededadospap.mdf;Integrated Security=True;Connect Timeout=30"))
{
cn.Open();
cmd.CommandText = "INSERT INTO artigo (nomeartigo,preco) VALUES ('" + textBox4.Text + "','" + textBox2.Text + "')";
cmd.ExecuteNonQuery();
cmd.Clone();
MessageBox.Show(" Artigo inserido com sucesso! ");
this.Close();
}
}
}
}
因为你没有告诉你的命令使用连接,所以试试这个:
SqlCommand cmd = new SqlCommand(
"Query String",
cn);
您必须告诉命令使用哪个连接来查询数据。我看到您的连接名为cn,所以这就是我们必须传递给SQLCommand构造函数的内容。
所以你的完整代码看起来像:
using (SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)'v11.0;AttachDbFilename=C:'basededadospap.mdf;Integrated Security=True;Connect Timeout=30"))
{
con.Open();
SqlCommand cmd = new SqlCommand("SELECT TOP 3 * FROM Dogs1 ORDER BY Weight", con);
cmd.ExecuteNonQuery();
cmd.Clone();
MessageBox.Show(" Artigo inserido com sucesso! ");
this.Close();
}
你注意到我是如何将连接变量传递给SQL命令的吗?