Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我发现在C MySql中很难同时插入3个表[ERROR]“必须定义参数'@lastBatch'。请建议?_C#_Mysql_Sql_Windows_Workbench - Fatal编程技术网

C# 我发现在C MySql中很难同时插入3个表[ERROR]“必须定义参数'@lastBatch'。请建议?

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

这个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 = 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。请阅读