私はC#プログラムを持っています。私のコードは、次のようなSQL文を生成しました。アクセスSQL文を挿入するC#で動作しない
INSERT INTO [TWEET_RESULT] ([SearchKeyword], [TweetID], [RetweetCount], [URL], [Body], [PostedTime], [Sentiment])
VALUES ("BVN", "tag:search.twitter.com,2005:528481176659697664", "1", "http://twitter.com/austin_ebi/statuses/528481176659697664", "Pls what is BVN going to be used for? Why can't every Nigerian just have 1 National Insurance number to be used for all purposes?", "2014-11-01T09:38:25.000Z", "NEUTRAL")
このSQL文をAccessデータベースで実行すると、レコードを正しく挿入することで機能します。
しかし、レコードを挿入するために私のC#コードで同じクエリを実行します。それは何もしません。
フィールド値を囲むために二重引用符を使用した理由は、一部のフィールド値に特殊文字が含まれる可能性があるためです。単一の引用符だけを使用してフィールド値を囲む場合、同じクエリが前に動作しました。
私はC#コードで例外メッセージをチェックします。それは言う:
ERROR [42000] [Microsoft] [ODBC Microsoft Access Driver] 'は有効な名前ではありません。無効な文字や句読点が含まれていないこと、および長すぎないことを確認してください。
私は薄い問題は、クエリではいけません。単純なselectクエリを試して、それが機能するかどうかを確認してください。テーブルから1レコードと1を選択し、それが機能するかどうかを確認します。 – CodingYoshi
申し訳ありませんが、私はあなたが1レコードを選択して何を意味するのか分かりません。私はMicrosoft Accessの内部でそれを実行すると、挿入SQL文が動作するようです。私のC#コードが同じSQLクエリを実行しようとすると、例外として実行されます。 – rvpals
\、カンマなどの特殊文字を含むフィールド値を囲む方法特殊文字のために一重引用符は使用できません。二重引用符を使用すると、C#コードから爆発します。奇妙な。 – rvpals