0

我试图从 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() 时显示错误。

4

4 回答 4

1

你能尝试在报价中制作日期部分间隔吗?

Grid_string = "SELECT datepart(\"mm\",T_Date) from Transactions"
于 2014-06-29T06:04:05.157 回答
1

使用'代替"将解决问题:

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

于 2016-01-29T11:34:59.940 回答
0

尝试使用m而不是mm

Grid_string = "SELECT datepart('m',T_Date) from Transactions"
于 2016-09-14T09:44:42.713 回答
0

返回的数据类型是 Int16。转换为 Int16 否则会出错

于 2016-09-28T11:57:37.927 回答