C#将SQL变量解释为MySQLParameters - 如何在C#代码中使用SQL变量?

时间:2016-06-09 10:16:15

标签: c# mysql sql

我想在SQL数据库中插入一些值。在此之前,我想在数据库中设置一个变量。

command.CommandText = "SET @lastid := 0;";
command.CommandText = "INSERT INTO order(surname, note) VALUES (@surname, @note);";
command.CommandText = "SELECT MAX(order_id) FROM order INTO @lastid;";

command.Prepare();
command.Parameters.AddWithValue("@surname", "Myname");
command.Parameters.AddWithValue("@note", textBoxAuftragNotiz.Text);
//command.Parameters.AddWithValue("@lastid", "100");
command.ExecuteNonQuery();

Visual Studio会抛出以下错误: MySql.Data.dll中发生未处理的“MySql.Data.MySqlClient.MySqlException”类型异常 其他信息:您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以便在第1行的“@lastid”附近使用正确的语法

编译器似乎尝试使用内部@lastid参数,而不是将其发送到数据库并在SQL中执行。

当取消注释以下内容时,它可以正常工作! //command.Parameters.AddWithValue("@lastid“,”100“);

0 个答案:

没有答案