我通过VBA进行Mysql查询,并在使用单元格数据时出现错误。我需要用单元格值来循环。我认为这是由于excel和Mysql之间的日期格式兼容性所致。感谢你的帮助。谢谢!
For R = 6 to lastrow
SQLQuery2 = "SELECT * FROM Mfg.databasemodels_note where typeId = " & Sheets("Sheet1").Range("B" & R) & " AND date < " & Sheets("Sheet1").Range("I" & R) & " order by date asc limit 1;"发布于 2017-11-11 18:06:52
简短回答是指您的string包含一个MySQL无法识别的日期。在构建字符串之后放置一个断点,运行代码,然后查看字符串的内容;MySQL应该如何理解它?
根据MySQL参考资料(下面的链接),下面是您更新的代码行:
SQLQuery2 = "SELECT * FROM Mfg.databasemodels_note where typeId = " & Sheets("Sheet1").Range("B" & R).Value & " AND date < " & Format(Sheets("Sheet1").Range("I" & R).Value, "'YYYY-MM-DD Hh:NN:SS'") & " order by date asc limit 1;"Real 是,您从来不想构建包含用户输入的SQL字符串,这是从零开始的,因为有了SQL注入风险。阅读如何使用VBA/C++/Java调用参数化ADO查询,了解您应该做什么(除了运行您自己的基本验证之外)。
https://stackoverflow.com/questions/47238296
复制相似问题