C# 我发现在C MySql中很难同时插入3个表[ERROR]“必须定义参数'@lastBatch'。请建议?
这个INSERT INTO查询在MySql工作台中工作,但在c中不工作C# 我发现在C MySql中很难同时插入3个表[ERROR]“必须定义参数'@lastBatch'。请建议?,c#,mysql,sql,windows,workbench,C#,Mysql,Sql,Windows,Workbench,这个INSERT INTO查询在MySql工作台中工作,但在c中不工作 try { connection.Open(); MySqlCommand cmd = new MySqlCommand(); cmd.Connection = connection; cmd.CommandText = "INSERT INTO product_batch(batchNumber) VALUES(@batchNumber); SET @lastBatch = las
try
{
connection.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = connection;
cmd.CommandText = "INSERT INTO product_batch(batchNumber) VALUES(@batchNumber); SET @lastBatch = last_insert_id(); INSERT INTO company(nameCompany) VALUES(@nameCompany); SET @lastCompany = last_insert_id(); INSERT INTO product(name, purchase_price, sale_price, idBatch,idCompany) VALUES(@name, @purchase_price, @sale_price, lastBatch, lastCompany)";
cmd.Prepare();
cmd.Parameters.AddWithValue("@name", textBoxItemName.Text);
cmd.Parameters.AddWithValue("@purchase_price", textBoxCostPrice.Text);
cmd.Parameters.AddWithValue("@sale_price", textBoxSalePrice.Text);
cmd.Parameters.AddWithValue("@batchNumber", textBoxBatchNum.Text);
cmd.Parameters.AddWithValue("@nameCompany", textBoxCompany.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Saved Successfully ");
connection.Close();
dataGridDisplay();
addNewProductFunction();
functionReadOnlyTrue();
}
要在MySQL的SQL语句中使用变量,必须设置Allow User variables=true连接字符串选项: 如果您正在使用,您将得到一条有用的异常消息,该消息将提供解决方案。我在连接字符串中设置了Allow User Variables=true。 第二个问题是MySql数据库中的数据类型 否则我的代码工作得很好。现在问题已经解决了 不要发布错误消息的图像。粘贴文本。这是错误:MySql.Data.MySqlClient.MySqlException:“在命令执行期间遇到致命错误。”内部异常。。MySqlException:必须定义参数'@lastBatch'。您可以而且应该回答问题以添加此类重要信息。欢迎使用SO。请阅读