![](/img/trans.png)
[英]SqlParameter DbType.Date -> SqlDbType.DateTime Conversion
[英]Date Conversion fails in C# via Parameter adding (SqlDbType.DateTime)
我是 C# 新手。 我有這個失敗的聲明:
dbCmd.Parameters.Add("@createdTime", SqlDbType.DateTime);
createdTime 中的值是:1/18/2012 11:54:11 AM 經過大量故障排除后,我能夠縮小問題范圍。 如果我將值更改為:2012-01-18 11:54:01 AM,它將起作用。 所以它不適用於格式。 我發現了這個問題,但我該如何解決這個問題? 我的意思是,DateTime 格式就是這樣。
這是我要解釋的更多代碼:
dbCmd.CommandType = CommandType.Text;
dbCmd.CommandText = sqlCmd;
dbCmd.Parameters.Add("@ID", SqlDbType.Int);
dbCmd.Parameters.Add("@FullName", SqlDbType.NVarChar);
dbCmd.Parameters.Add("@createdTime", SqlDbType.DateTime);
在 C# 中顯式解析值,因此 db 參數包含 DateTime,而不是字符串:
dbCmd.Parameters.Add("@createdTime", SqlDbType.DateTime)
.Value = DateTime.ParseExact(theVariableHoldingStringDateTime, "M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
如果您使用 Add 只是設置一個參數,您稍后會在循環中為其賦值:
for each line in text file parser blah blah
dbCmd.Parameters["@createdTime"]
.Value = DateTime.ParseExact(theVariableHoldingStringDateTime, "M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.