您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 制造加工工艺 > VBNET数据库编程基础教程
VB.NET的数据库基础编程(1)面向数据库编程始终是程序设计的一个难点和重点,VB.NET和C#一样自身是不具备对数据库进行操作的功能,他们对数据库的处理是通过.NetFrameWorkSDK中面向数据库编程的类库和微软的MDAC来实现的。在上一篇文章《探讨VB.Net中的数据绑定》中,我们已经探讨了数据绑定技术,这对于我们下面进行数据库编程是非常重要的。由于数据库编程中所包含的内容十分丰富,这是一篇文章所难以包容的。本文就来探讨一下用VB.NET进行数据库的基础编程,即:用VB.NET如何实现对数据的浏览,如何添加、插入记录,如何删除记录和如何更改记录。一.程序设计和运行的环境设置:(1).视窗2000服务器版(2).MicrosoftDataAcessComponent2.6以上版本(MDAC2.6)(3)..NetFrameWorkSDKBeta2二.数据库的数据字典:为了更全面的介绍,在数据库的选取方面,选取了二种典型的数据库,其一是本地数据库,也就是本文主要介绍的的数据库Access2000;另外一个是远程数据库SQLServer2000。其中Access2000的数据库名称是db.mdb,在此数据库中只存放了一张数据表person,此数据表结构如下:字段名称字段类型字段意思id数字序号xm文本姓名xb文本性别nl文本年龄zip文本邮政编码远程数据库SqlServer2000的数据库服务器名称为Server1,数据库名称为Data1,登陆的ID为sa,口令为空,在数据库也只存放了一张person数据表,数据结构大致如上。三.VB.NET如何实现对数据记录的浏览:在完成对窗体中的WinForm组件进行绑定过以后,实现对数据记录的浏览操作的关键就是要找到如何定位数据记录指针的方法。而要实现这种处理就需要用到.NetFrameWorkSDK中的名称空间System.Windows.Froms中的BindingManagerBase类了,BindingManagerBase是一个抽象的类,他主要管理对于绑定同一数据表所有绑定对象。BindingManagerBase类中定义了二个属性position和Count,第一个属性是定义当前数据指针,而第二个属性主要是得到当前数据集有多少记录数目。在已经进行完数据绑定后,通过这二个属性的配合使用,实现对数据记录的浏览。那么如何创建一个属于自己的BindingManagerBase对象,这就要使用到另外一个类--BindingContext。其实对于那些属于从Control类中继承对象的BindingManagerBase都是由BindingContext来创建的,下面以Access2000为操作数据库,创建的一个名称为myBind的BindingManagerBase对象的具体例子。'创建一个数据连接DimstrConAsString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=db.mdbDimmyConnAsOleDbConnection=NewOleDbConnection()myConn.ConnectionString=strConDimstrComAsString=SELECT*FROMperson'创建一个DataSetmyDataSet=NewDataSet()myConn.Open()'通过OleDbDataAdapter对象得到一个数据集DimmyCommandAsOleDbDataAdapter=NewOleDbDataAdapter(strCom,myConn)'把Dataset绑定books数据表myCommand.Fill(myDataSet,person)'关闭此数据连接myConn.Close()'创建BindingManagerBase对象myBind=Me.BindingContext(myDataSet,person)对于SQLServer数据库,创建BindingManagerBase对象和Access2000大致相同,唯一不同的就在于创建数据连接的时候,下面是以SQLServer2000为操作数据库,数据库服务器名称为Server1,数据库名称为Data1,登陆的ID为sa,口令为空,在数据库也只存放了一张person数据表,创建BindingManagerBase对象的程序代码:'创建一个数据连接DimstrConAsString=Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;InitialCatalog=data1;DataSource=server1DimmyConnAsOleDbConnection=NewOleDbConnection()myConn.ConnectionString=strConDimstrComAsString=SELECT*FROMperson'创建一个DataSetmyDataSet=NewDataSet()myConn.Open()'通过OleDbDataAdapter对象得到一个数据集DimmyCommandAsOleDbDataAdapter=NewOleDbDataAdapter(strCom,myConn)'把Dataset绑定books数据表myCommand.Fill(myDataSet,person)'关闭此数据连接myConn.Close()'创建BindingManagerBase对象myBind=Me.BindingContext(myDataSet,person)在得到BindingManagerBase对象后,配合使用position属性和Count属性,就可以实现对数据集的浏览了,下面是对数据集进行上一条、下一条、尾记录、首记录。'按钮尾记录对象事件程序PrivateSublastrec_Click(ByValsenderAsObject,_ByValeAsSystem.EventArgs)Handleslastrec.ClickmyBind.Position=myBind.Count-1EndSub'按钮下一条对象事件程序PrivateSubnextrec_Click(ByValsenderAsObject,_ByValeAsSystem.EventArgs)Handlesnextrec.ClickIfmyBind.Position=myBind.Count-1ThenMessageBox.Show(已经到了最后一条记录!,信息提示!,MessageBoxButtons.OK,MessageBoxIcon.Information)ElsemyBind.Position=myBind.Position+1EndIfEndSub'按钮上一条对象事件程序PrivateSubpreviousrec_Click(ByValsenderAsObject,_ByValeAsSystem.EventArgs)Handlespreviousrec.ClickIf(myBind.Position=0)ThenMessageBox.Show(已经到了第一条记录!,信息提示!,MessageBoxButtons.OK,MessageBoxIcon.Information)ElsemyBind.Position=myBind.Position-1EndIfEndSub'按钮首记录对象事件程序PrivateSubfirstrec_Click(ByValsenderAsObject,_ByValeAsSystem.EventArgs)Handlesfirstrec.ClickmyBind.Position=0EndSub四.VB.NET来删除数据记录:在做程序的时候,我们可能有这样的迷惑就是,我们操作的数据集是返回的DataSet对象,如果此时的DataSet对象十分庞大,或者连接到此数据库服务器的客户非常多,这样就会耗费服务器的很多资源,久而久之服务器总有一天可能会崩溃。其实这种担心是没有必要的,因为我们操作的DataSet对象其实产生的位置并不在服务器端,而是客户端,这样上面的几种顾虑就显得没有必要了。但在对数据库进行删除、修改等操作,我们此时操作的对象是服务器端的数据库,并没有修改到本地的DataSet对象,所以当进行删除、修改操作的时候,为了数据一致,在对服务器端的数据库进行删除、修改后,依然要对本地的DataSet对象进行相关操作。根据上面的这些知识,就可以分别得到针对Access2000和SqlServer2000数据库进行删除操作的程序代码:I.删除Access2000数据库中的记录:PrivateSubbutton4_Click(ByValsenderAsObject,_ByValeAsSystem.EventArgs)Handlesbutton4.Click'连接到一个数据库DimstrConAsString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=db.mdbDimmyConnAsOleDbConnection=NewOleDbConnection(strCon)myConn.Open()DimstrDeleAsString=DELETEFROMpersonWHEREid=+t_id.TextDimmyCommandAsOleDbCommand=NewOleDbCommand(strDele,myConn)'从数据库中删除指定记录myCommand.ExecuteNonQuery()'从DataSet中删除指定记录myDataSet.Tables(person).Rows(myBind.Position).Delete()myDataSet.Tables(person).AcceptChanges()myConn.Close()EndSubII.删除SqlServer2000数据库中的记录:PrivateSubbutton4_Click(ByValsenderAsObject,_ByValeAsSystem.EventArgs)Handlesbutton4.Click'连接到一个数据库DimstrConAsString=Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;InitialCatalog=data1;DataSource=server1DimmyConnAsOleDbConnection=NewOleDbConnection(strCon)myConn.Open()DimstrDeleAsString=DELETEFROMpersonWHEREid=+t_id.TextDimmyCommandAsOleDbCommand=NewOleDbCommand(strDele,myConn)'从数据库中删除指定记录myCommand.ExecuteNonQuery()'从DataSet中删除指定记录myDataSet.Tables(person).Rows(myBind.Position).Delete()myDataSet.Tables(person).AcceptChanges()myConn.Close()EndSub五.VB.NET来修改数据记录:掌握了SQL语句,并且掌握了上面删除数据记录的实现过程过以后,用VB.NET来修改数据记录就显得并不十分困难了。下面就是以Access2000为操作数据库实现记录修改的代码,如下:PrivateSubbutton3_Click(ByValsenderAsObject,_ByValeAsSystem.EventArgs)Handlesbutton3.ClickDimiAsInteger=myBind.Position'连接到一个数据库DimstrConAsString=Provider=Micr
本文标题:VBNET数据库编程基础教程
链接地址:https://www.777doc.com/doc-3395299 .html