2016-07-07 7 views
0

私は、APIからデータをC#コードで挿入するために、MySQLデータベースを使用しています。他のすべてのデータを受け入れる挿入することができます一つのフィールドのdate.Belowは私のコードMySqlデータベースの挿入時に

cmd.CommandText = "INSERT INTO wpcommon.livingsocialoffers(id,uuid,title,starting) VALUES(@id,@uuid,@title,@starting)"; 
cmd.Parameters.AddWithValue("@id", "1599694"); 
cmd.Parameters.AddWithValue("@uuid", "572a260d-bcd6-48fa-8ef9-c8faaf9d84d9"); 
cmd.Parameters.AddWithValue("@title", "testtitle");    
DateTime date= Convert.ToDateTime("6/2/2016 12:12:30 PM"); 
cmd.Parameters.AddWithValue("@starting", date);         
conn.Open(); 
cmd.ExecuteNonQuery(); 
conn.Close(); 

cmd.ExecuteNonQueryを(実行)、そのキャッチエラーです:あなたは、あなたのSQL構文でエラーが発生している

。 "(id、uuid、title、starting)VALUES(@ id、@ uuid、@ title、@ starting)の近くで使用する正しい構文については、MySQLサーバのバージョンに対応するマニュアルを確認してください。

私はすでに使用

cmd.Parameters.AddWithValue("STR_TO_DATE('@starting','%d/%m/%Y %H:%i:%s')", date); 

このエラーは、日付のみを挿入しようとしたときに発生します。コードから日付を削除すると正常に動作します。 。

+0

試し' DateTime.Parse'と 'Add'を使用することを検討してくださいAddWithValueではなく、 – Plutonix

+0

の日付はAPIに属しているので、jsonの文字列をモーダルのリストに変換します。実際の日付はapiからです: "2016-06-02T16:12:30 + 00:00"とDeserializeObjectの後"6/2/2016 12:12:30 PM"になってしまったので、最終的なinsert文を書きました。私はADDだけを試みましたが、同じエラーを受け取りました。 – Csharp

+0

結果をNET DateTimeに解析します:文化に応じて6月2日か2月6日の間に "6/2/2016"があいまいになる可能性があります – Plutonix

答えて

0

私はちょうど "**" around date in sql insert statement. like ** starting`・タントのすべてに必要な、解決策を見つけた ここでは、参照リンクです:

SQL syntax error, number, date/time

関連する問題