过去一个月我一直在使用MySQL这个问题。这不是一个大问题,但它很烦人。
query = "SELECT * FROM MESSAGE_TEMPLATES WHERE MESSAGE_SEND_DATE = '" & _date & "'"
当我将它传递给MySQL中的dataReader时,这个简单的行工作正常。但是:
query = "SELECT * FROM MESSAGE_TEMPLATES" & _
" WHERE MESSAGE_SEND_DATE = '" & _date & "'"
这不起作用,即使intellisense显示它们具有相同的值。 MySQL抱怨语法错误。您可以想象,对于占用多行的较大语句,这会变得更加成问题。我到底错过了什么?
答案 0 :(得分:1)
您可以将每个字符串打印到控制台或日志中,并查找任何随机空白区域或非自愿包含的控制字符吗?
答案 1 :(得分:1)
它应该工作 - 不能将MySQL作为字符串串起来。如果它仍然存在,请考虑使用XML语法来允许您执行多行操作:
Dim query = <sql><![CDATA[
SELECT * FROM MESSAGE_TEMPLATES
WHERE MESSAGE_SEND_DATE = :Date
]]></sql>.Value
另请注意,您应该使用parameterized queries,因为它们更安全,更易于阅读和更快。