2011-11-03 215 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有一个很好的教程在那里谈论发生了什么当你使用数据源窗口以及之后如何在代码中使用它。

我知道这是一个老问题,但它是在谷歌的结果非常高的,这是更多的是“这是你应该怎么做它”的答案,而不是它似乎什么是真正回答就像你问