簡體   English   中英

通過參數添加(SqlDbType.DateTime)在 C# 中日期轉換失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM