摘 要 以实例讲解VC++.NET基于ADO.NET访问数据库SQL Server,并在前端使用DataGridView控件编辑数据的编程方法及实现过程。
关键词 VC++.NET,应用程序配置文件,DataGridView,BindingSource,数据库,ADO.NET,SQL Server
程序设计语言与数据库是两种不同的软件开发平台。VC++.NET本身并不包含数据库。如果VC++.NET要修改或使用其他数据库的数据,必然涉及两种不同开发平台之间的数据交流,即VC++.NET访问数据库。
第讲将通过一个应用程序实例来讲解VC++.NET访问数据库的编程方法及实现过程。这个实例程序还将贯通到本讲座的后续两讲。
一、ADO.NET
要从应用程序中方便地访问数据库,必须经过二者之间的接口。在过去的Microsoft Visual Studio平台上,已经拥有许多数据库访问技术,主要包括:
(1)ODBC API(Open DataBase Connectivity)
(2)MFC ODBC(Microsoft Foundation Classes ODBC)
(3)DAO (Data Access Object)
(4)OLE DB (Object Link and Embedding DataBase)
(5)ADO (ActiveX Data Object)
其中,ADO是 Visual Studio平台上首选的数据库访问技术。但是,自从Visual Studio.NET平台引入了新的数据库访问技术——ADO.NET以后,改变了这种情况。ADO.NET解决了ADO无法满足的需求,使数据库操作变得更简单,代替了ADO的首选地位。
⒈ 优势
与ADO比较,ADO.NET 提供了以下若干好处:
(1)互操作性
XML 是网络中传输数据集的一项工业标准。在 ADO.NET 中,传输数据的格式采用 XML。
使用ADO.NET,数据从数据存储区移动到数据集以及从数据集移动到各种组件,都用XML格式。同样,如果需要保持数据(例如保持到文件中),则将其存储为 XML。如果有 XML 文件,则可以像使用任何数据源一样使用它,并从它创建数据集。
因此,应用程序中的数据组件就可以与其他任何应用程序中的其他任何组件交换数据,只要该组件理解 XML。而许多应用程序被编写为可理解 XML,这为异类应用程序间的互操作性提高了空前高的水平。
(2)可维护性
应用程序部署到系统以后,往往还需要做适度的更改。例如,当已部署的应用程序越来越受用户欢迎时,增加的性能负荷可能需要进行结构更改。随着已部署的应用程序服务器上的性能负荷的增长,系统资源会变得不足,并且响应时间或吞吐量会受到影响。面对这样的问题,软件设计者可以选择将服务器上的业务逻辑处理和用户界面处理划分到单独计算机的单独层上。应用程序服务器层替换为两层以后,缓解了系统资源缺乏。
这个问题并不是要在开发之初设计三层应用程序,相反,它是要在应用程序部署以后增加层数。如果原始应用程序使用ADO,这种实质上的更改是很困难的。但是如果原始应用程序使用数据集以 ADO.NET 实现,则该转换很容易进行。当用两层替换单层时,涉及这两层之间交换信息。由于这两层可以通过 XML 格式的数据集传输数据,所以通信相对较容易。
(3)可编程性
ADO.NET 以不同方式封装数据访问功能,帮助加快编程速度并减少犯错几率。
(4)性能
对于不连接的应用程序,ADO.NET 数据集提供的性能优于 ADO 不连接的记录集。当使用 COM 封送在层间传输不连接的记录集时,会因将记录集内的值转换为 COM 可识别的数据类型而增大处理开销。在 ADO.NET 中,这种数据类型转换则没有必要。
总之,ADO.NET在功能、性能上都超越了ADO,成为.NET平台上首选的数据库访问技术。
|