【问题标题】:Syntax Error in Update statement when updating更新时更新语句中的语法错误
【发布时间】:2017-10-08 10:28:56
【问题描述】:

我在同一个项目中使用此代码 2 次,两次尝试都有效, 我想知道我的代码有什么问题,我的列和表是正确的(我复制粘贴了我的名字以确保),每次我尝试更新它时,它总是在更新语句上显示语法错误

  string sql = "";
        sql = string.Format(@"UPDATE users_list
                                        SET Username='{0}',Last_name='{1}',Contact_number={2},Password='{3}',Position='{4}'
                                        WHERE ID={5}",

                                        txt_username.Text.Trim(),
                                        txt_userlastname.Text.Trim(),
                                        txt_usernumber.Text.Trim(),
                                        txt_userpassword.Text.Trim(),
                                        cbo_position.Text,
                                        txt_userid.Text.Trim());


        crudTools.ExecuteQuery(sql); //run the query
        MessageBox.Show("Records updated");
        Menu frm = new Menu();
        frm.Show(); //load form
        this.Hide(); //hide form

【问题讨论】:

  • 在分配查询后打印“sql”并将查询字符串复制粘贴到访问中并检查
  • 如果不看表和值就很难知道,但它周围缺少 {2} 吗?
  • @Dale_dale12 这是我的列名及其数据类型imgur.com/Fk3N5Pe
  • 失败时sql的值是多少?

标签: c# database ms-access-2007


【解决方案1】:

看起来您正在尝试更新“user_list”,但在您在 cmets 中发布的屏幕截图中,该表称为“users_table”。

更改 SQL 以反映这一点,看看是否能解决您的问题。

【讨论】:

  • 注意到我的名字错误后已经改变了表名,仍然得到同样的错误
  • 你能不能把'sql'的值输出并粘贴到这里。完成所有替换后,发现错误会容易得多
猜你喜欢
  • 2012-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多