2016-05-02 5 views
1

私はvb.netでビューをリストにアクセスデータベースからのデータの最後の2蛾を得るためにこのコードを持っているが、これは私にエラーを与える最後の2匹の蛾のアクセスデータベーステーブルからデータ

を取得し、これは私のコードです:私はこれを行うことができますどのように

IErrorInfo.GetDescription failed with E_FAIL(0x80004005).

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 

、これは誤りです。

+0

タイトルは、Accessを使用していると言います。あなたは、MySQLタグ(まったく別のデータベース)を追加しました。コードはAccessを示唆するOleDbを使用しますが、AFAIKの 'DATE_SUB'はMySQLの機能です。実際にどのDBを決定したら、日付をパラメータとして渡すだけを検討してください。 – Plutonix

+0

dt.Rows.Countとは何ですか? DataTableは実際に埋められますか? – wolfeh

+0

通常は私のMtコードを使用し、すべて正常に動作します。リストビューに表示されるすべてのデータを選択すると、最後の2つのコードを取得しようとするとコードがクラッシュします。 –

答えて

0
  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]; 

.....

+0

con.ConnectionString = "provider = microsoft.ace.oledb.12.0;データソース= |データディレクトリ| \ noorapp.accdb; " これはrge接続文字列 –

+0

です。アプリケーションエラーはどこですか?私はそのドライバの問題をアクセスと思いますが、まだエラーがどこにあるか教えてくれません。 –

関連する問題