Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 从access数据库表中获取最近2个月的数据_Vb.net_Ms Access - Fatal编程技术网

Vb.net 从access数据库表中获取最近2个月的数据

Vb.net 从access数据库表中获取最近2个月的数据,vb.net,ms-access,Vb.net,Ms Access,我有这段代码,用于在vb.net中从access数据库获取最后2个月的数据到列表视图,但这给了我错误 这是我的代码: Public Sub showlistview() Dim dt As New DataTable Dim ds As New DataSet ds.Tables.Add(dt) Dim da As New OleDbDataAdapter("SELECT * FROM pay_pretalk _

我有这段代码,用于在vb.net中从access数据库获取最后2个月的数据到列表视图,但这给了我错误

这是我的代码:

Public Sub showlistview()
        Dim dt As New DataTable
        Dim ds As New DataSet
    ds.Tables.Add(dt)
    Dim da As New OleDbDataAdapter("SELECT * FROM pay_pretalk _
                                   WHERE sdate > DATE_SUB(now(), INTERVAL 2 MONTH)", con)
    da.Fill(dt)
        Dim myrow As DataRow
        For Each myrow In dt.Rows
            ListView1.Items.Add(myrow.Item(2))
            ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(myrow.Item(3))
            ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(myrow.Item(4))
            ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(myrow.Item(5))
        ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(myrow.Item(6))
        ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(myrow.Item(7))
        Next
End Sub
这就是错误:

IErrorInfo.GetDescription失败,E_失败(0x80004005)

我怎样才能做到这一点

            dim ds as new DataSet();
            dim adapter as new OleDataDataAdapter("SELECT * FROM pay_pretalk                                             

            WHERE sdate > DateAdd("m", -2, Date())", con);
            adapter.Fill(ds);
            dt = ds.Tables[0];


con.ConnectionString=“provider=microsoft.ace.oledb.12.0;数据源=| datadirectory | \noorapp.accdb;”这是rge连接字符串,您的应用程序在哪里出错?。我认为这是一个访问的驱动程序问题。但是您仍然没有告诉我错误在哪里,这是rge连接字符串,您的应用程序错误在哪里?。我认为这是一个访问的驱动程序问题。但是你仍然没有告诉我错误在哪里标题说你正在使用Access。您添加了一个MySQL标记(完全不同的数据库)。代码使用OleDb,它建议访问,但AFAIK
DATE\u SUB
是一个MySQL函数。一旦决定了它是什么样的数据库,就把数据作为参数DT。DataTable是否真的被填充了?通常我使用它作为我的mt代码,一切正常,如果我选择所有数据,它将显示在列表视图中,但如果我尝试获取最后2个月的数据,代码崩溃。是的,我理解,但它真的填充了你的DataTable吗?您的数据表中有行吗?dt.Rows.Count?尝试使用
DataAdd
而不是
DATE\u SUB
标题显示您正在使用Access。您添加了一个MySQL标记(完全不同的数据库)。代码使用OleDb,它建议访问,但AFAIK
DATE\u SUB
是一个MySQL函数。一旦决定了它是什么样的数据库,就把数据作为参数DT。DataTable是否真的被填充了?通常我使用它作为我的mt代码,一切正常,如果我选择所有数据,它将显示在列表视图中,但如果我尝试获取最后2个月的数据,代码崩溃。是的,我理解,但它真的填充了你的DataTable吗?您的数据表中有行吗?dt.Rows.Count?尝试使用
DataAdd
而不是
DATE\u SUB