如何解决sqladapter.InsertCommand c# ado.net中的问题(需要声明@id)
how to solve the problem(@id needs to be declared) in sqladapter.InsertCommand c# ado.net
我一直收到这个错误
System.Data.SqlClient.SqlException: La variable scalaire "@id" doit être déclarée.
在适配器的插入命令上,即使在参数中声明了我的值
我该怎么办?
这是代码
private void BT_Add_Click(object sender, EventArgs e)
{
adapter.SelectCommand.Parameters.AddWithValue("@id", txtID.Text);
adapter.SelectCommand.Parameters.AddWithValue("@name", txtName.Text);
adapter.SelectCommand.Parameters.AddWithValue("@lastname", txtLastName.Text);
adapter.SelectCommand.Parameters.AddWithValue("@adress", txtAdress.Text);
adapter.SelectCommand.Parameters.AddWithValue("@email", txtEmail.Text);
connection.Open();
adapter.InsertCommand = new SqlCommand("insert into client values(@id,@name,@lastname,@adress,@email)", connection);
adapter.InsertCommand.ExecuteNonQuery();
MessageBox.Show("Row inserted !! ");
}
您已将参数添加到 SelectCommand
;这不会自动将它们添加到 InsertCommand
。这两个命令是不同的东西
这里不需要适配器;只需新建一个 SqlCommand
,设置 SQL,为其添加参数并执行
我一直收到这个错误
System.Data.SqlClient.SqlException: La variable scalaire "@id" doit être déclarée.
在适配器的插入命令上,即使在参数中声明了我的值
我该怎么办?
这是代码
private void BT_Add_Click(object sender, EventArgs e)
{
adapter.SelectCommand.Parameters.AddWithValue("@id", txtID.Text);
adapter.SelectCommand.Parameters.AddWithValue("@name", txtName.Text);
adapter.SelectCommand.Parameters.AddWithValue("@lastname", txtLastName.Text);
adapter.SelectCommand.Parameters.AddWithValue("@adress", txtAdress.Text);
adapter.SelectCommand.Parameters.AddWithValue("@email", txtEmail.Text);
connection.Open();
adapter.InsertCommand = new SqlCommand("insert into client values(@id,@name,@lastname,@adress,@email)", connection);
adapter.InsertCommand.ExecuteNonQuery();
MessageBox.Show("Row inserted !! ");
}
您已将参数添加到 SelectCommand
;这不会自动将它们添加到 InsertCommand
。这两个命令是不同的东西
这里不需要适配器;只需新建一个 SqlCommand
,设置 SQL,为其添加参数并执行