gpt4 book ai didi

c# - asp.net c#代码错误(mysql数据库连接)

转载 作者:行者123 更新时间:2023-11-29 00:59:13 25 4
gpt4 key购买 nike

我的代码是更新一条记录,如果它已经存在于数据库中,否则作为新记录插入。

我的代码如下:

protected void Button3_Click(object sender, EventArgs e)
{

OdbcConnection MyConnection = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;");
MyConnection.Open();
String MyString = "select fil_no,orderdate from temp_save where fil_no=? and orderdate=?";
OdbcCommand MyCmd = new OdbcCommand(MyString, MyConnection);
MyCmd.Parameters.AddWithValue("", HiddenField4.Value);
MyCmd.Parameters.AddWithValue("", TextBox3.Text);
using (OdbcDataReader MyReader4 = MyCmd.ExecuteReader())
{
//**
if (MyReader4.Read())
{

String MyString1 = "UPDATE temp_save SET order=? where fil_no=? AND orderdate=?";
OdbcCommand MyCmd1 = new OdbcCommand(MyString1, MyConnection);
MyCmd1.Parameters.AddWithValue("", Editor1.Content.ToString());
MyCmd1.Parameters.AddWithValue("", HiddenField1.Value);
MyCmd1.Parameters.AddWithValue("", TextBox3.Text);
MyCmd1.ExecuteNonQuery();
}



else
{

// set the SQL string
String strSQL = "INSERT INTO temp_save (fil_no,order,orderdate) " +
"VALUES (?,?,?)";

// Create the Command and set its properties
OdbcCommand objCmd = new OdbcCommand(strSQL, MyConnection);
objCmd.Parameters.AddWithValue("", HiddenField4.Value);
objCmd.Parameters.AddWithValue("", Editor1.Content.ToString());
objCmd.Parameters.AddWithValue("", TextBox3.Text);

// execute the command
objCmd.ExecuteNonQuery();



}


}
}

我得到的错误是:

ERROR [42000] [MySQL][ODBC 3.51 Driver][mysqld-5.1.51-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order,orderdate) VALUES ('04050040272009','      &' at line 1

表 temp_save 中字段的数据类型是:

fil_no-->INT(15)( to store a 15 digit number)
order-->LONGTEXT(to store contents from HTMLEditor(ajax control))
orderdate-->DATE(to store date)

请帮助我解决我的错误。

最佳答案

order 是一个保留字。有关保留字的完整列表,请查看 this document .

您可以将其包裹在反引号中,即(在我的键盘上,~ 键下有一个反勾号)

INSERT INTO temp_save (fil_no,`order`,orderdate)....

关于c# - asp.net c#代码错误(mysql数据库连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4497065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com