首先,我正在使用MySQL-Connector / Net和MySQL数据库。
并且请不要告诉我我应该使用using,或者我没有尝试抓住的机会。我有,但我只想发布少量代码。

我想一次更新多个字段,但是不起作用。我收到语法错误。

(来自评论)我收到此错误:


  MySql.Data.MySqlClient.MySqlException(0x80004005):SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的'+ 1,allC = allC + 50'附近使用正确的语法


sql_command.CommandText = "Update Test Set x1 + 1 And allC + ?Ammount Where = 1;";
sql_command.Parameters.Add("?Ammount", MySqlDbType.Int32).Value = dataTable.Tables[0].Rows.Count;

sql_command.ExecuteNonQuery();


但这不是吗?
我真的不需要where子句,因为我只是说它是一个数字表,所以最多只能有一行。
但是,如果尝试这样做,它也将不起作用:

sql_command.CommandText = "Update Test Set x1 + 1 And all + ?Ammount;";


我还有另一个问题。
如果我想从数据库中获得一个条目,而这实际上只是一个条目,这是最简单的方法?

就是这样,但是我怎么能用很少的代码将这个记录保存在一个字符串中呢?

sql_command.CommandText = "Select ID From Customer Order By ID Desc Limit 1;";

最佳答案

您的UPDATE语句的SQL语法已无法修复:

Update Test Set x1 + 1 And all + ?Ammount Where = 1;


WHERE = 1应该指向哪个字段?
哪个字段应接收x1 + 1的值?

我认为,除非对其进行重大修改,否则无法正确回答该问题;请提供有关您要对UPDATE语句执行的操作的某种描述。

另外,最后的SELECT语句可以替换为以下内容:

SELECT MAX(ID) FROM Customer;


这将更具可读性。

关于c# - 更新多个字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22772141/

10-13 04:10