VBNET数据库编程基础教程.docx

上传人:b****2 文档编号:1909973 上传时间:2022-10-25 格式:DOCX 页数:22 大小:22.55KB
下载 相关 举报
VBNET数据库编程基础教程.docx_第1页
第1页 / 共22页
VBNET数据库编程基础教程.docx_第2页
第2页 / 共22页
VBNET数据库编程基础教程.docx_第3页
第3页 / 共22页
VBNET数据库编程基础教程.docx_第4页
第4页 / 共22页
VBNET数据库编程基础教程.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

VBNET数据库编程基础教程.docx

《VBNET数据库编程基础教程.docx》由会员分享,可在线阅读,更多相关《VBNET数据库编程基础教程.docx(22页珍藏版)》请在冰豆网上搜索。

VBNET数据库编程基础教程.docx

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.mdb"

DimmyConnAsOleDbConnection=NewOleDbConnection()

myConn.ConnectionString=strCon

DimstrComAsString="SELECT*FROMperson"

'创建一个DataSet

myDataSet=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=server1"

DimmyConnAsOleDbConnection=NewOleDbConnection()

myConn.ConnectionString=strCon

DimstrComAsString="SELECT*FROMperson"

'创建一个DataSet

myDataSet=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.Click

myBind.Position=myBind.Count-1

EndSub

'按钮"下一条"对象事件程序

PrivateSubnextrec_Click(ByValsenderAsObject,_

ByValeAsSystem.EventArgs)Handlesnextrec.Click

IfmyBind.Position=myBind.Count-1Then

MessageBox.Show("已经到了最后一条记录!

","信息提示!

",

MessageBoxButtons.OK,MessageBoxIcon.Information)

Else

myBind.Position=myBind.Position+1

EndIf

EndSub

'按钮"上一条"对象事件程序

PrivateSubpreviousrec_Click(ByValsenderAsObject,_

ByValeAsSystem.EventArgs)Handlespreviousrec.Click

If(myBind.Position=0)Then

MessageBox.Show("已经到了第一条记录!

","信息提示!

",

MessageBoxButtons.OK,MessageBoxIcon.Information)

Else

myBind.Position=myBind.Position-1

EndIf

EndSub

'按钮"首记录"对象事件程序

PrivateSubfirstrec_Click(ByValsenderAsObject,_

ByValeAsSystem.EventArgs)Handlesfirstrec.Click

myBind.Position=0

EndSub

 

四.VB.NET来删除数据记录:

在做程序的时候,我们可能有这样的迷惑就是,我们操作的数据集是返回的DataSet对象,如果此时的DataSet对象十分庞大,或者连接到此数据库服务器的客户非常多,这样就会耗费服务器的很多资源,久而久之服务器总有一天可能会崩溃。

其实这种担心是没有必要的,因为我们操作的DataSet对象其实产生的位置并不在服务器端,而是客户端,这样上面的几种顾虑就显得没有必要了。

但在对数据库进行删除、修改等操作,我们此时操作的对象是服务器端的数据库,并没有修改到本地的DataSet对象,所以当进行删除、修改操作的时候,为了数据一致,在对服务器端的数据库进行删除、修改后,依然要对本地的DataSet对象进行相关操作。

根据上面的这些知识,就可以分别得到针对Access2000和SqlServer2000数据库进行删除操作的程序代码:

.删除Access2000数据库中的记录:

PrivateSubbutton4_Click(ByValsenderAsObject,_

ByValeAsSystem.EventArgs)Handlesbutton4.Click

'连接到一个数据库

DimstrConAsString="Provider=Microsoft.Jet.OLEDB.4.0;

DataSource=db.mdb"

DimmyConnAsOleDbConnection=NewOleDbConnection(strCon)

myConn.Open()

DimstrDeleAsString="DELETEFROMpersonWHEREid="+t_id.Text

DimmyCommandAsOleDbCommand=NewOleDbCommand(strDele,myConn)

'从数据库中删除指定记录

myCommand.ExecuteNonQuery()

'从DataSet中删除指定记录

myDataSet.Tables("person").Rows(myBind.Position).Delete()

myDataSet.Tables("person").AcceptChanges()

myConn.Close()

EndSub

 

.删除SqlServer2000数据库中的记录:

PrivateSubbutton4_Click(ByVal

展开阅读全文
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1