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"

于 2016-01-29T11:34:59.940 に答える
1

引用符でdatepart間隔を作成してみてください。

Grid_string = "SELECT datepart(\"mm\",T_Date) from Transactions"
于 2014-06-29T06:04:05.157 に答える
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 に答える