2011-06-22 7 views
0

私はこの1ヶ月間、この問題をMySQLに抱えてきました。それは大きな問題ではありませんが、かなり迷惑です。このSQLは1つの形式では動作しますが、別の形式では動作しないのはなぜですか?

query = "SELECT * FROM MESSAGE_TEMPLATES WHERE MESSAGE_SEND_DATE = '" & _date & "'" 

この単純な行は、MySQLのdataReaderに渡すとうまく動作します。ただし:

intellisenseが両方とも同じ値を示す場合でも、これは機能しません。 MySQLは構文にエラーがあることを訴える。これは、いくつかの行を占める大きな文では、より問題になると想像することができます。私はここで何が欠けているのですか?

答えて

1

コンソールまたはログに各文字列を印刷し、任意の空白文字または無意識に含まれる制御文字を検索できますか?

+0

ああ、私は問題を見る、それは私が文字列を書かれている方法です。私が掲示した例の場合、それは実際にうまくいく(私はプログラムからランダムな文字列をつかんだ)。しかし、それ以外の場合は、改行後に空白を追加しませんでした。 – MGZero

1

これは動作するはずです - 文字列としての文字列としてのMySQLのことはできません。それはあなたが複数行のことを行うことができるようにXML構文を使用することを検討して解決しない場合:

Dim query = <sql><![CDATA[ 
SELECT * FROM MESSAGE_TEMPLATES 
WHERE MESSAGE_SEND_DATE = :Date 
]]></sql>.Value 

、彼らが読んで速くしやすく、より安全であるとしても、あなたがparameterized queriesを使用しなければならないことに注意してください。

+0

ありがとう、私はパラメータ化されたクエリを調べます。 – MGZero

関連する問題