Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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语句有什么问题_Sql_Excel_Vba - Fatal编程技术网

我的sql语句有什么问题

我的sql语句有什么问题,sql,excel,vba,Sql,Excel,Vba,我在VBA做一个项目。我已成功连接并检索了我的表。现在我想更新Excel中的几个列。当我运行这段代码时,它不会抛出任何错误,但表中的值永远不会更改 sqlstr = "UPDATE " & table4 & " SET price = '" & Cells(i, 8) & ", & " & Cells(i, 9) & "' " & " WHERE key_id = '" & Cells(i, 1) & ", &am

我在VBA做一个项目。我已成功连接并检索了我的表。现在我想更新Excel中的几个列。当我运行这段代码时,它不会抛出任何错误,但表中的值永远不会更改

sqlstr = "UPDATE " & table4 & " SET price = '" & Cells(i, 8) & ", & " 
& Cells(i, 9) & "' " & " WHERE key_id = '" & Cells(i, 1) & ", & " & Cells(i, 2) & "' "
当我用一个值运行一个较短的版本时,它会很好地更新它

sqlstr = "UPDATE " & table4 & " SET price = '" & Cells(i, 8) & "' " & " 
WHERE key_id = '" & Cells(i, 1) & "' "

我哪里错了?

语法中缺少“引号”

sqlstr = "UPDATE " & table4 & " SET price = '" & Cells(i, 8) & "' " & " 
& Cells(i, 9) & "' " & " WHERE key_id = '" & Cells(i, 1) & ", & " & Cells(i, 2) & "' "

你想在这里完成什么?你在一个引号里有一个“&”,这可能会破坏一些东西。细胞(I,9)在做什么?通常Update语句类似于:Update Table set Column=Value,Column2=Value2,其中ClauseIt也有SQL注入风险。这些不是SQL语句。这些是构建SQL语句的VBA语句。结果SQL语句位于变量
sqlstr
中。如果显示该变量的内容,您可能会立即在构造的SQL语句中看到语法错误。正如我所说的,它正在使用Vba宏从Excel更新表。第二个例子更新了它,也就是说它更新了一个值。我想用它一次更新几个值script@LarryLustig我怎么显示那个变量的内容呢?但是伙计们,这个statemnet对吗?更新产品折扣集价格='10,15',其中键id='1,2'