[英]Timespan Input string was not in a correct format
我正在使用SQL Server 2008 r2在Asp.Net(Framework 4.0)中建立一個網站。
我的數據庫fieldname“RegisterTime”和數據類型是time(7)。
插入數據庫時,我使用TimeSpan time= DateTime.Now.TimeOfDay;
它插入成功。
當我嘗試使用時間作為輸入方法檢索我的id時,它會給錯誤輸入字符串格式不正確。
代碼如下。
cmd = new SqlCommand("SELECT OrderId FROM tbl_Orders WHERE UserId ='" + Convert.ToInt32(Session["UserId"].ToString()) + "' And RegisterTime='" + time.ToString(@"hh\:mm\:ss.ff") + "'", con);
con.Open();
dr = cmd.ExecuteReader();
if (dr.HasRows)
{
orderid = "";
orderid = dr["OrderId"].ToString();
}
在添加CultureInfo ci = CultureInfo.InvariantCulture;
給出錯誤
試試這個!
cmd = new SqlCommand("SELECT OrderId FROM tbl_Orders WHERE UserId ='" + Convert.ToInt32(Session["UserId"].ToString()) + "' And RegisterTime='" + time.ToString(@"hh\:mm\:ss\.ff") + "'", con);
在你的代碼中,有一個拼寫錯誤,
time.ToString(@"hh\:mm\:ss.ff") to time.ToString(@"hh\:mm\:ss\.ff")
希望能幫助到你。
你應該這樣試試
CultureInfo ci = CultureInfo.InvariantCulture;
"' And RegisterTime='" + time.ToString("hh:mm:ss.ff",ci) + "'", con);
for .Net 4.0有一個配置開關可以恢復TimeSpan的舊行為。
在.NET 3.5及更早版本中, TimeSpan
結構不是IFormattable
。 當string.Format
和相關方法看到像{0:something}
類的{0:something}
並且提供的參數不是IFormattable
,它們無處放置該格式字符串,它們只是丟棄它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.