2013-09-27 50 views
-5

我想TextBox控件過濾我的數據視圖,但是當我運行程序它說以下錯誤請告訴我這裏是哪裏出錯

「無法找到表0」

這裏是我的代碼

Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.KeyPress 

     Dim conn As New OleDbConnection 
     conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + IO.Directory.GetCurrentDirectory + "\Kyc.mdb" 
     conn.Open() 
     Dim cmdfilter As String = " select ID as الرقم_الوطني,fname as الاسم_الاول,sname as الاسم_الثاني,thname as الاسم_الثالث,finame as الاسم_الرابع from O_name " 
     Dim dataadabtar As New OleDbDataAdapter(cmdfilter, conn) 
     Dim ds As New DataSet 
     Dim dsview As DataView 
     Dim bs As New BindingSource 
     dsview = ds.Tables(0).DefaultView 
     bs.DataSource = dsview 
     bs.Filter = "الرقم_الوطني LIKE '" & TextBox1.Text & "'" 
     DataGridView1.DataSource = bs 
     conn.Close() 
End Sub 

請幫我

+0

錯誤是你永遠也填'任何數據ds'。 – Khan

+0

您實例化一個空數據集,然後立即嘗試引用該數據集中的表。正如錯誤所述,這裏沒有表格。所以你不能引用它。 – David

回答

0

的錯誤是從你的這部分代碼..

Dim ds As New DataSet 
.... 
dsview = ds.Tables(0).DefaultView 

你永遠不分配DS

0

試試這個

Dim dataadabtar As New OleDbDataAdapter(cmdfilter, conn) 
    Dim ds As New DataSet 
    Dim dsview As DataView 
    Dim bs As New BindingSource 

    dataadabtar.Fill(ds); 

    IF ds.Tables.Count > 0 Then 
     dsview = ds.Tables(0).DefaultView 
     bs.DataSource = dsview 
     bs.Filter = "الرقم_الوطني LIKE '" & TextBox1.Text & "'" 
     DataGridView1.DataSource = bs 
    END IF; 
+0

這工作,並消除錯誤,但沒有結果顯示,當我寫在文本框中的任何數字的數據網格變空只是當我從文本框中刪除它保持空 – user2780962

+0

你確定有數據傳遞你的數字?這個答案解決了你上面的原始問題 –