我來自印度(這裏可能與文化信息有關)。我正在使用MS-ACCESS 2010 32位作爲後端在C#.Net 2010 Express中構建桌面應用程序。我正在使用OLEDB進行數據庫連接。 我有一個名爲列DT日期/時間已下列值:MSACCESS DateTIME SQL QUERY
20-09-2016 22時53分32秒
19-08-2016 22時54分24秒
20-09-2016 22 :56:01
22-09-2016 22時56分27秒
22-09-2016 22時56分41秒
我需要獲取記錄按日期,按月和按年。直到現在我無法完成日期部分,所以不能在月和年工作。以下是我的代碼:
b.com.CommandText = "SELECT * FROM srvtrans WHERE DateTime.Parse(dt)[email protected] ORDER BY sno DESC";
b.com.Parameters.Add("@a", dtp_srdmy.Value.ToShortDateString());
Show(dtp_srdmy.Value.ToShortDateString());
b.con.State == ConnectionState.Closed)
con.Close();
mytemp = new DataTable();
da.Fill(mytemp);
我也曾嘗試以下變化:
WHERE CONVERT(VARCHAR(10),dt,111)[email protected]
WHERE CONVERT(VARCHAR(10),dt,101)[email protected]
WHERE dt LIKE '%@a%'
WHERE DateTime.Parse(dt)[email protected]
WHERE dt=DateValue(@a)
WHERE CAST(dt AS DATE)[email protected]
WHERE CONVERT(varchar, dt, 101)[email protected]
WHERE DATE(dt)[email protected]
WHERE [email protected]
但沒有人對我的作品。請回答在sql查詢中應該進行哪些更新以按日期,月份和年份提取記錄。提前致謝。
另外看看行'b.con.State == ConnectionState.Closed',你檢查是否關閉,然後再關閉它。你應該做的是在需要的時候創建一個新的OleDbConnection,並把它包裝在一個使用塊中。請參閱[最佳實踐 - 執行Sql語句](http://stackoverflow.com/documentation/.net/3589/ado-net/14261/best-practices-executing-sql-statements),其中有一些關於如何最佳結構的提示你的ado.net代碼。 – Igor