2016-07-07 202 views
0

我正在使用Mysql數據庫從API插入數據在C#代碼中。所有其他數據可以插入接受一個字段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語法錯誤;檢查對應於你的MySQL服務器版本使用近 「(ID,UUID,標題,起始)VALUES(@ ID,@ UUID,@標題,@啓動)」

我已經正確的語法手冊使用

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

這個錯誤發生在我試圖插入日期only.If我從代碼中刪除日期其工作正常。

+0

嘗試'DateTime.Parse',並考慮使用'Add'而不是'AddWithValue' – Plutonix

+0

日期屬於API,所以我把json字符串轉換爲模態列表,實際的api日期是:「2016-06-02T16:12:30 + 00:00」和DeserializeObject之後「2016年6月2日下午12:12:30」所以我寫了最後的插入聲明。我也試過只有ADD,但它的捕獲相同的錯誤 – Csharp

+0

您可能需要將結果解析爲NET DateTime:「6/2/2016」可能在6月2日或2月6日之間不明確,具體取決於文化 – Plutonix

回答