但如果不需要界面,仅需要实现连接数据库,然后做些删除,更新,添加的功能,则使用ADO对象较好。
使用 ADO Data 控件
ADO Data 控件使用 Microsoft ActiveX 数据对象(ADO) 来快速建立数据绑定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可以是任何符合 OLEDB 规范的数据源。使用 Visual Basic 的类模块也可以很方便地创建子集的数据提供者。
尽管可以在应用程序中直接使用 ActiveX 数据对象,但 ADO Data 控件有作为一个图形控件的优势(具有“向前”和“向后”按钮),以及一个易于使用的界面,使您可以用最少的代码创建数据库应用程序。
ADO Data 控件
在 Visual Basic 的“工具箱”中不少控件都可以作为数据绑定的控件,包括复选框、组合框、图像、标签、列表框、图片框、以及文本框控件等。此外,Visual Basic 还包括了若干种数据绑定的 ActiveX 控件,诸如 DataGrid、DataCombo、Chart、以及 DataList 控件等。用户也可以创建自己的数据绑定的 ActiveX 控件,或从其他开发商购买控件。
Visual Basic以前的版本提供了内在的 Data 控件和 Remote Data 控件 (RDC) 来进行数据访问。这两种控件仍包括在 Visual Basic 中,以提供向后兼容。不过,因为 ADO 的适应性更广,因此建议用户使用 ADO Data 控件来创建新的数据库应用程序。
详细信息 关于数据绑定的控件的完整列表位于“绑定到 ADO Data 控件的控件”中。要了解如何使用这些内在的Data 控件或 Remote Data 控件,请参阅“使用 Data 控件”或“使用 Remote Data 控件”。关于创建数据提供者的详细信息,请参阅“创建数据识别类”。
可能的用法
连接一个本地数据库或远程数据库。
打开一个指定的数据库表,或定义一个基于结构化查询语言 (SQL) 的查询、或存储过程、或该数据库中的表的视图的记录集合。
将数据字段的数值传递给数据绑定的控件,可以在这些控件中显示或更改这些数值。
添加新的记录,或根据对显示在绑定的控件中的数据的任何更改来更新一个数据库。
要创建一个客户、或前端数据库应用程序,应在窗体中添加 ADO Data 控件,以及其它所需要的任何 Visual Basic 控件。可以根据您的需要在窗体中放置多个 ADO Data 控件。不过,请注意,这种控件是一种相当“昂贵”的创建连接的方法,应在第一个控件至少有两个连接,且以后的每个控件至少多一个连接时使用。
用最少的代码创建一个前端数据库应用程序
通过在设计时设置一些属性,可以用最少的代码来创建一个数据库应用程序。如果正在使用OLE DB 数据源,则相应的Microsoft 数据链接名称(Data Link Name)(.MDL) 必须是在您的机器上创建的。请参阅“创建 Northwind 的OLE DB Data Link”,以获得一个循序渐进的示例。
要创建一个简单的前端数据库应用程序
窗体上放置一个 ADO Data 控件。(该图标的工具提示为 "ADODC"。)
如果该控件不在“工具箱”中,请按 CTRL+T 键,显示“部件”对话框。在这个“部件”对话框中,单击“Microsoft ADO Data Control”。
在“工具箱”中,单击选定“ADO 数据控件”。然后按 F4 键显示“属性”窗口。
在“属性”窗口中,单击“ConnectionString”显示“ConnectionString”对话框。
如果您已经创建了一个 Microsoft 数据链接文件(Data Link file)(.UDL),请选择“使用 OLE DB 文件”并单击“浏览”,以找到计算机上的文件。如果使用 DSN,则单击“使用 ODBC 数据源名”,并从框中选择一个 DSN,或单击“新建”创建一个。如果想创建一个连接字符串,请选择“使用 ConnectionString”,单击“生成”,然后使用“数据链接属性”对话框创建一个连接字符串。在创建连接字符串后,单击“确定”。ConnectionString 属性将使用一个类似于下面这一行的字符串来填充:
driver={SQL Server}server=bigsmileuid=sapwd=pwddatabase=pubs
在“属性”窗口中,将“记录源”属性设置为一个 SQL 语句。例如:
SELECT * FROM Titles WHERE AuthorID = 72
在访问一个表时,应始终包括一个 WHERE 子句。如果这样做失败,则会锁定整个表,这样对其他用户将是一个严重的障碍。
在窗体上再放置一个“文本框”控件,用来显示数据库信息。
在其“属性”窗口中,将 Text1 的“数据源”属性设为 ADO Data 控件的名称 (ADODC1)。这样就将这个文本框和 ADO Data 控件绑定在一起。
在其“属性”窗口中,单击“数据字段”将下拉得到一个可用的字段列表。单击所要显示的字段的名称。
对希望访问的其它每个字段重复第 6、7、8 步。
按 F5 键运行该应用程序。用户可以在 ADO Data 控件使用四个箭头按钮,从而允许用户地到达数据的开始、记录的末尾、或在数据内从记录移动到另一个记录。
在程序中设置 ConnectionString、Source、DataSource、以及 DataField
下面的代码演示了如何在程序中设置这四个属性。注意设置 DataSource 属性要使用 Set 语句。
Private Sub Form_Load()
With ADODC1
.ConnectionString = "driver={SQL Server}" &_
"server=bigsmileuid=sapwd=pwddatabase=pubs"
. RecordSource = "Select * From Titles Where AuthorID = 7"
End With
Set Text1.DataSource = ADODC1
Text1.DataField = "Title"
End Sub
ADO Data 控件的事件
ADO Data 控件提供了若干个可以编程的事件。下表说明了这些事件及其何时产生,不过这个表不是一个关于这些事件何时发生的所有条件的完整列表。更完整的信息,请参阅各个事件的参考主题。
事件 产生条件
WillMove 当执行 Recordset.Open、Recordset.MoveNext、Recordset.Move、Recordset.MoveLast、Recordset.MoveFirst、Recordset.MovePrevious、Recordset.Bookmark、Recordset.AddNew、Recordset.Delete、Recordset.Requery、Recordset.Resync 方法时
MoveComplete 在 WillMove 事件之后
WillChangeField 在 Value 属性更改之前
FieldChangeComplete 在 WillChangeField 事件之后
WillChangeRecord 当执行 Recordset.Update、Recordset.Delete、Recordset.CancelUpdate、Recordset.UpdateBatch、Recordset.CancelBatch 方法时
RecordChangeComplete 在 WillChangeRecord 事件之后
WillChangeRecordset 在执行 Recordset.Requery、Recordset.Resync、Recordset.Close、Recordset.Open、Recordset.Filter 方法时
RecordsetChangeComplete 在 WillChangeRecordset 事件之后
InfoMessage 当数据提供者返回一个结果时
详细信息 如果试图循序渐进地使用 ADO Data 控件,请参阅“使用 DataGrid 和 ADO 数据控件创建一个简单的数据库应用程序”,“ 创建一个简单的 DataCombo 应用程序”,以及“创建一个连接 DataList 控件的 DataGrid”。
那么如何添加配置文件呢?这就和在项目中添加一个新的类一样,在解决方案资源管理器中右击当前项目→添加→新建项。
之后在d出的对话框中选择 ”常规→应用程序配置文件“。
App.config是DotNet的通用配置文件,在ASP.Net中也同样适用,它是标准的 XML 文件,注意XML 标记和属性是区分大小写的。
点击添加,即出现如图所示的添加代码的页面。
在这里如果是想要添加配置连接字符串的代码,可以这样编写。其中ConnectionString是要配置的连接字符串。
然后就是从程序中读取配置文件中的这个连接字符串:
C#语言是使用ConfigurationManager类读取配置文件中的连接字符串,首先将这个类所在的命名空间引用到当前项目中。
添加引用之后就可以使用system.Configuration命名空间下的ConfigurationManager类了。
string constr = ConfigurationManager.ConnectionStrings["Instrument"].ConnectionString//获取或设置配置文件中的连接字符串
7
经过以上配置,以后就不用再复制粘贴连接字符串,即使以后服务器的IP地址改了,也只需要在配置文件中修改一下数据库的IP就好了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)