у меня есть этот код для получения последнего 2 моли данных из базы данных доступа к списку Просмотреть в vb.net, но это дает мне ошибкуПолучить последние 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 failed with E_FAIL(0x80004005).
, как я могу это сделать.
Название говорит вы используете Access. Вы добавили тег MySQL (полностью другая база данных). В коде используется OleDb, который предлагает Access, но AFAIK 'DATE_SUB' является функцией MySQL. После того, как вы решите, какая БД это действительно, подумайте, просто передайте дату как параметр – Plutonix
Что такое dt.Rows.Count? Действительно ли DataTable заполняется? – wolfeh
Как правило, я использую его в своем mt-коде, и все работает нормально, если я выберу все данные, которые будут отображаться в виде списка, но если я попытаюсь получить последние 2 мотыля, произойдет сбой кода. –