gpt4 book ai didi

mysql - excel(单元格)中引用的按日期进行 SQL 查询

转载 作者:行者123 更新时间:2023-11-29 18:13:04 25 4
gpt4 key购买 nike

我通过 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;"

最佳答案

简短的回答是您的 sql 字符串包含 MySQL 无法识别的日期。在构建字符串后放置一个断点,运行代码,然后查看字符串的内容; MySQL 应该如何理解它?

根据 MySQL 引用 Material (下面的链接),这是更新的代码行:

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;"

真正的答案是,您永远不会想要从头开始构建包含用户输入的 SQL 字符串,因为 SQL injection risks 。阅读 How To Invoke a Parameterized ADO Query Using VBA/C++/Java快速概述您应该做什么(除了运行您自己的基本验证之外)。

引用资料:MySQL 5.7: The DATE, DATETIME, and TIMESTAMP Types/Visual Basic for Applications: Format Function

进一步阅读:VBA, ADO.Connection and query parameters/ADODB Command failing Execute with parameterised SQL query

关于mysql - excel(单元格)中引用的按日期进行 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47238296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com