我正在尝试与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
P.S。 :连接和其他东西工作正常。 它只在我使用datepart()时显示错误。
答案 0 :(得分:1)
您能否尝试在报价单中设置日期部分?
Grid_string = "SELECT datepart(\"mm\",T_Date) from Transactions"
答案 1 :(得分:1)
使用'
代替"
将解决问题:
Grid_string = "SELECT datepart('mm',T_Date) from Transactions"
答案 2 :(得分:0)
尝试使用m
代替mm
Grid_string = "SELECT datepart('m',T_Date) from Transactions"
答案 3 :(得分:0)
返回的数据类型是Int16。 转换为Int16或者你会收到错误