[英]How to Insert System.Datetime object into SqlServer via DbCommand with parameters
我嘗試做幾個小時。
Database db = DBUtil.GetInstance().GetDataBase();
DbCommand cmd = db.GetSqlStringCommand(@"INSERT INTO [XXX] (
...
,[FirstDate]
...
) VALUES ('@FirstDate',...");
db.AddInParameter(cmd, "@FirstDate", DbType.Date, DateTime.Now );
但是我總是在下面獲得此異常信息。
{System.Data.SqlClient.SqlException(0x80131904):從字符串轉換日期和/或時間時轉換失敗。
我應該怎么做轉換? 還是選擇另一個DbType? DbType.DateTime2嗎?
您無需在插入語句中為參數添加引號。 (值('@FirstDate'))
Database db = DBUtil.GetInstance().GetDataBase();
DbCommand cmd = db.GetSqlStringCommand(@"INSERT INTO [XXX] (
...
,[FirstDate]
...
) VALUES (@FirstDate,...");
db.AddInParameter(cmd, "@FirstDate", DbType.DateTime, DateTime.Now );
取決於數據庫中的類型(如果是Date或DateTime)。
// full date and time
db.AddInParameter(cmd, "@FirstDate", DbType.DateTime, DateTime.Now );
要么
// just the date portion
db.AddInParameter(cmd, "@FirstDate", DbType.Date, DateTime.Now.Date );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.