自若干年前推出开放式数据库连接 (ODBC) 应用程序编程接口 (API) 以来,出现了各种各样的数据库访问技术,而 ADO.NET 是其中最新的一种。在这过程中,发生了许多有趣的事。例如,COM 闯入数据库领域,开始培植 OLE DB 的殖民进程。然后,大致相当于 OLE DB 自动化版本的 ActiveX? Data Objects (ADO) 被选来统治 Windows? 数据库开发者的 Visual Basic? 和 ASP 社区。
通过 .NET,Microsoft 正在提供通用框架(即 Framework Class Library),其中将包括所有现有的 Windows API 甚至更多的内容。特别值得一提的是,它包括大量常用的库,而这些库现在需要通过各个 COM 对象分别获得。在这些库中,您会发现 XML 和 ADO 对象模型,它们被集成到了叫做 ADO.NET 的类子树中。
您应该使用 SQL 类访问 SQL Server 表,因为它们直接进入数据库服务器的内部 API,跳过了由 OLE DB 提供程序表示的中间层。ADO 类是 OLE DB 提供程序上的 .NET 接口,它们使用 COM Interop 桥进行工作。
5.2 连接一个数据库
Dim myConnection As New SQLConnection("server=localhost;uid=sa;pwd=;database=pubs") Dim myCommand As New SQLDataSetCommand("select * from Authors", myConnection)
Dim myConnection As SQLConnection = New SQLConnection("server=localhost;uid=sa; pwd=;database=pubs") Dim myCommand As SQLCommand = New SQLCommand("select * from Authors", myConnection) myConnection.Open() Dim dr As New SQLDataReader myCommand.Execute(dr)
...
myConnection.Close()
或者 这样做 Dim myConnection As New SQLConnection("server=localhost;uid=sa;pwd=;database=pubs") Dim mycommand As New SQLCommand( _ "UPDATE Authors SET phone='(800) 555-5555' WHERE au_id = '123-45-6789'", _ myConnection) myCommand.ActiveConnection.Open() myCommand.ExecuteNonQuery() myCommand.ActiveConnection.Close()