我正在使用C#向SQL服務器發出請求。請求需要在2個時間戳(日期和小時)之間。問題是如果我只把日期(2015-04-15)它的工作原理,但如果我把時間放在後面(2015-04-15 16:00:00)它不再工作,並顯示錯誤:「接近' 16'的語法不正確。「具有時間戳的SQL請求
我嘗試不同的事情,但我找不到方法。
這裏是我的代碼:
DateTime Endtime = Convert.ToDateTime(DateTime.Now.Date.ToString("d") + " " + DateTime.Now.AddHours(1).Hour.ToString("00") + ":00:00");
DateTime Starttime = Convert.ToDateTime(DateTime.Now.Date.ToString("d") + " " + DateTime.Now.Hour.ToString("00") + ":01:00");
string time = string.Empty;
SqlConnection sqlCon = new SqlConnection("...");
sqlCon.Open();
SqlCommand sqlCmd = new SqlCommand("SELECT COUNT(TimeStamp) FROM net WHERE Timestamp BETWEEN " + Starttime.ToString("yyyy-MM-dd hh:mm:ss") + " AND " + Endtime.ToString("yyyy-MM-dd hh:mm:ss"), sqlCon);
SqlDataReader reader = sqlCmd.ExecuteReader(); //Error comes from here
while (reader.Read())
{
time = reader[0].ToString();
}
Console.WriteLine(time);
你有什麼想法,使之?
在查詢中使用SQL日期鑄造 – Jankya
或者只是在日期'WHERE Timestamp BETWEEN''...' –
周圍添加單引號此外,只要確定:'TimeStamp'在數據庫中的類型爲'DateTime',是的? – DWright