簡體   English   中英

SQL查詢中的Datepart函數不適用於VB.NET中的OLEDB連接

[英]Datepart function in SQL query not working with OLEDB connection in VB.NET

我試圖從Access數據庫的日期列中分別獲取日期,月份和年份。

我正在使用以下代碼。

我不知道這是什么問題,但是它顯示了錯誤或沒有數據返回。

我是OLEDB的新手,所以我不知道這是否可行。

請幫忙。

如果這種方法不正確,請告訴我其他選擇。

    conn_string = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\MHV\Documents\Visual Studio 2012\Projects\UTS\UTS.mdb"

    conn = New OleDbConnection(conn_string)
    conn.Open()

    Grid_string = "SELECT datepart(mm,T_Date) from Transactions"

    Grid_cmd = New OleDbCommand(Grid_string, conn)
    RW_AD = New OleDbDataAdapter(Grid_cmd)
    Grid_DS = New DataSet

    Grid_cmd.Connection = conn
    Grid_cmd.CommandText = Grid_string

    RW_AD.Fill(Grid_DS, "Transactions")

    Grid_cmd.ExecuteNonQuery() 

    DataGridView1.DataSource = Grid_DS.Tables("Transactions").DefaultView

PS:連接和其他功能正常。 僅在使用datepart()時顯示錯誤。

您可以嘗試在報價中設置日期間隔嗎?

Grid_string = "SELECT datepart(\"mm\",T_Date) from Transactions"

使用'代替"將解決問題:

Grid_string = "SELECT datepart('mm',T_Date) from Transactions"

嘗試使用m代替mm

Grid_string = "SELECT datepart('m',T_Date) from Transactions"

返回的數據類型為Int16。 強制轉換為Int16否則會出錯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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