2014-09-19 105 views
0

我嘗試插入日期時間值來訪問數據庫,但總是讓我錯誤;插入日期時間參數來訪問數據庫ODBC

我的源代碼:

cmd.CommandText = "INSERT INTO tblProcessed (name, comment, file_name, seven_zip_name, mode, device_ID,send_date) VALUES(?,?,?,?,?,?,?)"; 
cmd.Parameters.AddWithValue("", name); 
cmd.Parameters.AddWithValue("", comment); 
cmd.Parameters.AddWithValue("", Filename); 
cmd.Parameters.AddWithValue("", sevenZip); 
cmd.Parameters.AddWithValue("", mode); 
cmd.Parameters.AddWithValue("", iddev); 
cmd.Parameters.AddWithValue("",dati); //when i remove this line wont get any error 
cmd.ExecuteNonQuery(); 

,總是讓我的錯誤:

在 條件表達式

[微軟] [ODBC Microsoft Access驅動程序]數據類型不匹配「}

所有字段類型都是字符串,但send_date字段除外... 當我刪除send_date字段每個事情都可以正常工作

如何將日期時間值插入send_date字段?

+0

http://stackoverflow.com/questions/18082840/how-to-bind-parameters-via-odbc-c – IVAAAN123 2014-09-19 04:45:59

+0

我改變到 'cmd.Parameters.Add( 「」,OdbcType.NVarChar)。價值=名稱; cmd.Parameters.Add(「」,OdbcType.NVarChar).Value = comment; cmd.Parameters.Add(「」,OdbcType.NVarChar).Value = Filename; cmd.Parameters.Add(「」,OdbcType.NVarChar).Value = sevenZip; cmd.Parameters.Add(「」,OdbcType.NVarChar).Value = mode; cmd.Parameters.Add(「」,OdbcType.NVarChar).Value = iddev; cmd.Parameters.Add(「」,OdbcType.DateTime).Value = dati; ' not wotk – user3585139 2014-09-19 05:02:06

+0

參數名稱怎麼樣? – IVAAAN123 2014-09-19 05:14:23

回答

0

好吧,我遇到了同樣的問題,這就是我解決它的方法。

我正在使用「AddWithValue」,我只能讓它添加直線日期,但我也想要時間部分。

嘗試

cmd.Parameters.Add("@send_date", OleDbType.DBTimeStamp).Value = DateTime.Parse(dati.ToString()); 

從我讀其他地方,在補充的是具有與該日期的毫秒部分的問題,而且看起來這種方法必須帶他們了。