[英]How to convert datetime in c# so it works with sql server?
如果我在sql中編寫以下查詢,則可以正常運行,但是如果我從c#程序中運行它,它將失敗。 查詢結果為-1。 我認為這與轉換有關。 它應該是程序中的第三個文本框,其中是查詢的結果(結果應顯示在第三個文本框中)。 這是代碼:
conn.Open();
string anfrage = "select sum(Rechnungsbetrag) from tbl_Rechnung where AusDatum between '"+txtbox1.Text+"' and '"+txtbox2.Text+"'";
SqlCommand comm = new SqlCommand(anfrage, conn);
comm.ExecuteNonQuery();
用ISO8601格式格式化日期:YYYY-MM-DDThh:mm:ss.nnn [Z]
這是在C#中執行此操作的方法: http : //msdn.microsoft.com/zh-cn/library/az4se3k1(v=vs.110).aspx # Roundtrip
有幾處錯誤。 首先,txtbox1.text和txtbox2.text是字符串。 您必須將它們轉換為DateTime對象。
接下來,由於多種原因,您確實要使用查詢參數。
最后,對於日期范圍查詢,between關鍵字可能會導致您錯過記錄。 做這種事情比較安全:
where SomeDateField >= @StartDate
and SomeDateField < the day after @EndDate
string anfrage = "select sum(Rechnungsbetrag) from tbl_Rechnung where AusDatum between Convert(varchar(10),'"+txtbox1.Text+"',102) and Convert(varchar(10),'"+txtbox2.Text+"',102)";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.