Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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
Sql update语句中的语法错误_Sql_Oledb - Fatal编程技术网

Sql update语句中的语法错误

Sql update语句中的语法错误,sql,oledb,Sql,Oledb,代码: 代码结尾: 当我执行上面的代码时,我得到一个错误,声明“更新语句中的语法错误”。 谁能告诉我怎么解决这个问题吗?哇。我们能说。。。SQL注入 尝试使用参数。您不仅可以保护自己,而且SQL的可读性也会大大提高。哇。我们能说。。。SQL注入 尝试使用参数。您不仅可以保护自己,而且您的SQL将变得更具可读性。千万不要使用字符串连接来构建SQL查询。使用SQL参数。不要使用字符串连接来生成SQL查询。使用SQL参数。Yikes! 请提供query1的最终值,并尝试对其进行格式化,以便我们能够更好

代码:

代码结尾:

当我执行上面的代码时,我得到一个错误,声明“更新语句中的语法错误”。
谁能告诉我怎么解决这个问题吗?

哇。我们能说。。。SQL注入


尝试使用参数。您不仅可以保护自己,而且SQL的可读性也会大大提高。

哇。我们能说。。。SQL注入


尝试使用参数。您不仅可以保护自己,而且您的SQL将变得更具可读性。

千万不要使用字符串连接来构建SQL查询。使用SQL参数。

不要使用字符串连接来生成SQL查询。使用SQL参数。

Yikes! 请提供query1的最终值,并尝试对其进行格式化,以便我们能够更好地了解它。我猜是缺了什么。

哎呀!
请提供query1的最终值,并尝试对其进行格式化,以便我们能够更好地了解它。我猜是遗漏了什么。

我想说你遗漏了一些引号,但你的代码太糟糕了,我说不出来。如果您不修复代码,那么至少给我们一个query1转储,这样我们就可以读取您的实际查询

并像前面的回答一样使用参数或存储过程。只要你的一个变量被一些讨厌的东西覆盖,你的服务器就会对任何删除你的表或更糟糕的人敞开大门


即使这是一个本地的“安全”数据库,你现在也应该改掉你的坏习惯。

我想说,你在那里漏掉了一些引号,但你的代码太糟糕了,我说不出来。如果您不修复代码,那么至少给我们一个query1转储,这样我们就可以读取您的实际查询

并像前面的回答一样使用参数或存储过程。只要你的一个变量被一些讨厌的东西覆盖,你的服务器就会对任何删除你的表或更糟糕的人敞开大门


即使这是一个本地“安全”数据库,您现在也应该改掉坏习惯。

看起来您需要在WHERE子句之前添加一个空格

希望这有帮助


Bill

看起来您需要在WHERE子句之前添加一个空格

希望这有帮助

法案付诸表决

控制台写入线(查询1)
before
OleDbCommand cmd1=新的OleDbCommand(查询1,康涅狄格州)

查看打印到控制台窗口的
query1
的值。
SQL语句看起来正常吗?我想不是-你现在可以找到一个非数字的字段,并且在网格中是空白的

并且,使用其他人说过的参数。

Put

控制台写入线(查询1)
before
OleDbCommand cmd1=新的OleDbCommand(查询1,康涅狄格州)

查看打印到控制台窗口的
query1
的值。
SQL语句看起来正常吗?我想不是-你现在可以找到一个非数字的字段,并且在网格中是空白的


而且,像其他人所说的那样使用参数。

感谢您的快速响应,但如何使用sql参数感谢您的快速响应,但如何使用sql参数bad sql语法是他最不担心的。也许,但我不是在这里进行改革。糟糕的sql语法是他最不担心的。也许,但我不是在这里参加十字军东征。我的回答有什么问题吗?当你投反对票时,请说明理由。我的回答有什么问题?投票时,请说明理由。
string query1 = @"UPDATE global_mapping set escape_id = " + 
  dataGridView1.Rows[i].Cells[2].Value + ",function_id = " + 
  dataGridView1.Rows[i].Cells[3].Value + ",function_name = '" + 
  dataGridView1.Rows[i].Cells[4].Value + "',parameter_name = '" + 
  dataGridView1.Rows[i].Cells[5].Value + "',parameter_validity = '" + 
  dataGridView1.Rows[i].Cells[6].Value + "',statusparameter_id = " + 
  dataGridView1.Rows[i].Cells[7].Value + ",acb_datatype = '" + 
  dataGridView1.Rows[i].Cells[8].Value + "',data_type_id = " + 
  dataGridView1.Rows[i].Cells[9].Value + ",bit_size = " + 
  dataGridView1.Rows[i].Cells[10].Value + ",validity_status ='" + 
  dataGridView1.Rows[i].Cells[11].Value + "',validity_func = '" + 
  dataGridView1.Rows[i].Cells[12].Value + "'WHERE global_mapping.parameter_id =" + 
  dataGridView1.Rows[i].Cells[1].Value + "";
OleDbCommand cmd1 = new OleDbCommand(query1, conn);
cmd1.ExecuteNonQuery();