Vb.net 从access数据库表中获取最近2个月的数据
我有这段代码,用于在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 _
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,它建议访问,但AFAIKDATE\u SUB
是一个MySQL函数。一旦决定了它是什么样的数据库,就把数据作为参数DT。DataTable是否真的被填充了?通常我使用它作为我的mt代码,一切正常,如果我选择所有数据,它将显示在列表视图中,但如果我尝试获取最后2个月的数据,代码崩溃。是的,我理解,但它真的填充了你的DataTable吗?您的数据表中有行吗?dt.Rows.Count?尝试使用DataAdd
而不是DATE\u SUB