2011-11-03 122 views
0

我正在vb.net中構建數據庫應用程序,並且我從工具欄中的DATA中添加數據源開始。我的連接很好,它顯示了數據源面板中的所有表格。如何從VB.NET中的數據源查詢/獲取數據

我也看到有關我的數據庫中的新類,像

sakilaDataSet 
sakilaDataSet.customerDataTable 

... 等。

我如何查詢和使用這些?我GOOGLE了很多,我無法得到這個。

Dim cust As sakilaDataSet.customerDataTable = New sakilaDataSet.customerDataTable 
     Dim row() As System.Data.DataRow = cust.Select("customer_id=5") 
     MsgBox(row.Count) 

我最後的嘗試是與上面的代碼,但始終row.count結果是零。

回答

1

我想實現的不是再次使用連接字符串。添加在VB.net數據源後,它使數據類和適配器,我可以直接用它來訪問數據庫,如下所示:

Dim staff As sakilaDataSet.customerDataTable = New sakilaDataSetTableAdapters.customerTableAdapter().GetData 
Dim rows() As sakilaDataSet.customerRow = staff.Select("email='" + email.Text + "'") 
+1

你應該使用參數 – PsychoData

1

您需要打開一個連接到數據庫。以下是一些選項:

您可以使用EntityFramework,它提供了一種訪問數據並通過映射到實體(類)來控制數據的好方法。爲此,在VisualStudio中創建一個ClassLibrary項目,添加一個項目ADO.NET Entity Data Model。這將打開一個嚮導,該向導將幫助您連接到數據庫,將數據庫中的對象映射到實體並通過對實體上下文的引用訪問實體。基礎很簡單。

其他選項是使用OLEDB provider,這是訪問數據庫的經典方法。一個example打開Access數據庫的員工:

Dim connString As String = "provider= microsoft.jet.oledb.4.0; " & _ 
    "data source=Employee.mdb;" 

    Dim conn As New OleDbConnection(connString) 

    Try 
    conn.Open() 
    Finally 
    conn.Close() 
    Console.WriteLine("Connection Closed") 
    End Try 

訪問http://www.connectionstrings.com/得到共同連接字符串列表許多DB。其他有用的鏈接:

的EntityFramework:

http://www.codeguru.com/csharp/csharp/net30/article.php/c15489

http://www.asp.net/entity-framework/tutorials

OLEDB:

http://oreilly.com/catalog/progvbdotnet/chapter/ch08.html

http://www.homeandlearn.co.uk/net/nets12p2ed.html

http://www.sourcecodester.com/tutorials/net/database-programming-made-easy.html

希望這有助於。

-1

本網站http://visualbasic.about.com/od/usingvbnet/a/begdbapp7.htm有一個很好的教程在那裏談論發生了什麼當你使用數據源窗口以及之後如何在代碼中使用它。

我知道這是一個老問題,但它是在谷歌的結果非常高的,這是更多的是「這是你應該怎麼做它」的答案,而不是它似乎什麼是真正回答就像你問