| ot;MyStoredProc ''''Davolio''''", oCN)
oCMD.CommandType = CommandType.StoredProcedure
Try
oCN.Open()
oCMD.Execute(oDR)
While oDR.Read
Console.WriteLine(oDR("LastName").ToString))
End While
Catch e As Exception
Console.WriteLine(e.ToString)
Finally
oDR.Close()
oCN.Close()
End Try
请注意,上述代码具有 Microsoft Visual Basic® 7.0 引入的一些语法元素的特征 — 特别是最终取代了 On Error 机制的 Try-Catch 结构。ADO+ 代码充分利用了提供诸如 Console 之类的系统对象的.NET 运行时服务。 还有什么特殊的功能可以帮助您确定革新的 DataSetCommand 方法是否优于使用传统的 ADO 吗?通过使用 DataSetCommand 对象与数据源进行通信,基本上与通过使用 ADO 连接和命令相同,并带有一个重要的推论:所有的 ADO+ 对象,如 DataSetCommand 对象,都可以通过派生新的、更专用的类而进行定制。因此,举例来说,您可以控制将数据集的更改传送到数据库的方式,以及(比方说)优化性能、对数据进行压缩或加密、执行数据验证以及许多其它功能。
强类型编程
您通过 ADO 对数据库对象和类似 Recordset 和 Fields 的集合进行操作。除了将实际数据视为某种参数外,这种方法没有什么错误: Set oRS = New ADODB.Recordset
oRS.Open strSQL, strConn
While Not oRS.EOF
MsgBox oRS("FirstName") & " " & oRS("LastName")
oRS.MoveNext
Wend
在上述 ADO 代码片断中,第一个和最后一个名称被用作进入 Recordset 和 Fields 集合的入口点。由于 Visual Basic 的缺省属性,您可以编写相对容易阅读的代码。依照 ADO,某一给定记录字段的“完整对象模型路径”应为: oRS.Fields("firstname").value
此外,ADO 总是使用 Variant 数据类型,以便与基于脚本的环境(特别是 ASP)相一致。 ADO+ 通过提供借助数据的自然名称对存储于数据集中的数据进行访问的能力,使数据库编程更进了一步。如果要在某一数据集中寻址某一表,您可以使用该表的 ADO+ 名称并对使用列和行的名称对列和行进行访问,而不是通过基于集合的方法。此外,所有的有关变量都拥有一个特定的(与 Variant 相对)数据类型。这称为强类型编程。上面显示的对一个 Employees 表中的 FirstName 和 LastName 和 LastName 进行操纵的代码可以按下面的形式重新编写: MsgBox Employees.FirstName & " " & Employees.LastName
一种具有类型的 DataSet 即是一个自 DataSet 继承的类。采用数据集的强类型版本是有益的,原因是 IDE 自身可以实时地向您通知可能的类型不匹配错误,而且 Microsoft IntelliSense® 技术可以随时向您建议一些方法和属性。
上一页 [1] [2] |