VB程序中用ADO对象动态创建数据库

VB程序中用ADO对象动态创建数据库
VB程序中用ADO对象动态创建数据库

掌握VB中的ADO数据对象编程收藏

那天听到一位同学说他的女朋友是学新闻的可也学会了数据库,可学计算机的自己却还是不会,总觉得有点汗颜.在各网站的论坛上,也常看到网友对数据库的一些操作很难把握.我想简单的介绍一下VB中关于ADO对象的一些常识,供同学们参考.其实本人也是刚刚懂了一点,拼凑出这篇文章,希望高手们看了不要见笑,但同时也希望对初学者有所帮助。

ADO是ActiveX Data Objects 的缩写,是一项新的数据库的存取技术。相对于VB5.0中的DAO 他具有更为简化的对象模型,无论是存取本地的还是远程的数据,都提供了一致的接口.就我本人而言,ADO 的确比DAO要好用得多。

今天只就ADO的对象模型谈一谈.ADO定义了一个可编程的对象集合.ADO对象模型如图所示:

对于ADO其中对象来说,我觉得比较重要的是:Command,Connection,Recordset对象。

虽然严格的说这是不准确的,但根据我的实际经验确实如此.下面就分别来谈一下。

(1) Connection对象

Connection对象用于建立与数据库的连接.通过连接可从应用程序访问数据源.它保存诸如指针类型,连接字符串,查询超时,连接超时和缺省数据库这样的连接信息.

(2) Command对象

在建立Connection后,可以发出命令操作数据源.一般情况下,Command对象可以在数据库中添加,删除或更新数据,或者在表中进行数据查询.Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用。

(3) Recordset对象

Recordset对象只代表一个记录集,这个记录集是一个连接的数据库中的表,或者是Command对象的执行结果返回的记录集.在ADO对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的.Record对象用于指定行,移动行,添加,更改,删除记录。

下面就具体地说说如何用ADO存取数据:

在实际编程过程中使用ADO的一个典型的存取数据的步骤为:

(1) 连接数据源

(2) 打开记录集对象

(3) 使用记录集

(4) 断开连接

那么具体怎么是用呢?分别来看。(我在最后将给出一个完整的使用ADO的实例给大家参考.)

(1) 如何连接数据源

利用Connection对象可以创建一个数据源的连接.应用的方法是Connection对象的Open方法。

语法:

Connection对象.Open ConnectionString, UserID, PassWord, OpenOptions

其中:

·Connection对象为你定义的Connection对象的实例;

·ConnectionString为可选项,包含了连接的数据库的信息;

·UserID 可选项,包含建立连接的用户名;

·PassWord为可选项,包含建立连接的用户密码;

·OpenOptions为可选项,假如设置为adConnectAsync,则连接将异步打开.

(2)打开记录集对象

实际上记录集返回的是一个从数据库取回的查询结果集.因此他有两种打开方法:一种使用记录集的O pen方法,另一种是用Connection对象的Execute方法。

(a)记录集的Open方法

语法:

Recordset.Open Source, ActiveConnection, CursorType, LockType, Options

其中:

·Recordset为所定义的记录集对象的实例。

·Source可选项,指明了所打开的记录源信息.可以是合法的命令,对象变量名,SQL语句,表名,存储过程调用,或保存记录集的文件名。

·ActiveConnection可选项,合法的已打开的Connection对象的变量名,或者是包含ConnectionSt ring参数的字符串。

·CursorType可选项,确定打开记录集对象使用的指针类型。

·LockType可选项确定打开记录集对象使用的锁定类型。

(b)Connection对象的Execute方法

语法:

Set recordset=Connection.Execute(CommandText,RecordsAffected,Options)

参数说明:

·CommandText 一个字符串,返回要执行的SQL命令,表名,存储过程或指定文本。

·RecordsAffected 可选项,Long类型的值,返回操作影响的记录数。

·Options 可选项,Long类型值,指明如何处理CommandText参数。

介绍完了如何打开数据库下面说说怎么使用吧.

(3)使用记录集

(a)添加新的记录:

在ADO中添加新的记录用的方法为:AddNew 它的语法为:

Recordset.AddNew FieldList, Values

·Recordset为记录集对象实例

·FieldList为一个字段名,或者是一个字段数组.

·Values为给要加信息的字段赋的值,如果FiledList为一个字段名,那么Values应为一个单个的数值,假如FiledList为一个字段数组,那么 Values必须也为一个个数,类型与FieldList相同的数组。

再用完AddNew方法为记录集添加新的记录后,应使用UpDate将所添加的的数据存储在数据库中.不过你最好在用UpDate方法之前使用CancelUpdate方法来取消该项操作。

(b)修改记录集

其实修改核对记录集中的数据重新赋值没有什么太大的区别,只要用SQL语句将要修改的字段的一个数据找出来重新赋值就可以了.这里不再细说了。

(c)删除记录

在ADO中删除记录集中的数据的方法为:Delete方法,这与DAO对象的方法相同,但是在ADO中它

的能力增强了,可以删掉一组记录了.

它的语法如下:

Recordset.Delete AffectRecords

其中的,AffectRecords参数是确定Delete方法作用的方式的,它的取值如下:

·adAffectCurrent 只删除当前的记录

·adAffectGroup 删除符合Filter属性设置的那些记录.为了一次能删除一组数据,应设置Filter属性.

(d)查询记录

在ADO中查询的方法很灵活,有几种查询的方法.

·使用连接对象的Execute方法执行SQL命令,返回查询记录集.

·使用Command对象的Execute方法执行CommandText属性中设置的SQL命令,返回查询记录集.

第一个方法的具体语法在前面数据连接时已经介绍过了,下面就第二方法具体说一下.

Command对象的Execute方法的语法如下:

Command.Execute RecordsAffected, Parameters, Options '不返回记录集

或者 Set Rscordset=CMM nad.Execute(RecordsAffected,Parameters,Options) '返回

记录集

CommandText的语法为:

https://www.360docs.net/doc/10938083.html,mandText=stringvariable

其中: stringvariable为字符串变量,包含SQL语句,表名或存储过程.

(4) 断开连接

在应用程序结束之前,应该释放分配给ADO对象的资源,操作系统回收这些资源并可以再分配给其他应用程序。

使用的方法为:Close方法。

语法如下:

Object.Close ' Object为ADO对象

好了,说了那么多的理论,下面我们就应用一下吧!

下面我给出一个我自己写的实例,是一个用户登录,注册,密码修改,用户删除的应用小程序.你也可以到本版的下载仓库中下载.

具体实现方法:

在本程序中包括了四个窗体.

·一个用于用户登录,名字为:FormDengLu;

·一个用于用户注册,名字为:FormZhuCe;

·另一个为用于用户修改密码,名字为:FormXiuGai;

·最后一个用于用户删除,名字为:FormShanChu.

下面进行ADO对象的定义与设置,不过在这之前你必须在工程中引用ADO对象.

定义ADO对象:

Dim ZhuCe As ADODB.Connection ' ZhuCe为连接对象

Dim rstZhuCe As ADODB.Recordset 'rstZhuCe为记录集对象

Dim CMM ZhuCe As https://www.360docs.net/doc/10938083.html,mand 'cmmZhuCe为命令对象

在Form_Load过程中应进行如下的ADO设置:

Set ZhuCe = New ADODB.Connection '设置连接对象实例

ZhuCe.CursorLocation = adUseClient

'打开数据源连接

ZhuCe.Open "provider=Microsoft.Jet.OLEDB.4.0;Data Source=App.Path\注册.mdb"

'设置记录集对象实例

Set rstZhuCe = New ADODB.Recordset

Set rstZhuCe.ActiveConnection = ZhuCe

'打来记录集

rstZhuCe.Open "select * from 注册", ZhuCe, adOpenStatic, adLockOptimistic '设置命令对象实例

Set cmmZhuCe = New https://www.360docs.net/doc/10938083.html,mand

Set cmmZhuCe.ActiveConnection = ZhuCe

添加新的用户信息(原码)

If TextYongHuMing.Text = "" Or TextMiMa.Text = "" Or _

TextTiShiWenTi.Text = "" Or TextTiShiDaAn.Text = "" Then

MsgBox "笔添信息没有添完,请输入完全", VB OKOnly + vbExclamation, "提示"

Else

If TextJiaoYan.Text = TextMiMa.Text Then

rstZhuCe.MoveLast '记录集中的移动方法,指针移动到记录集的末尾

rstZhuCe.AddNew '添加新的记录

rstZhuCe!用户名 = TextYongHuMing.Text

rstZhuCe!密码 = TextMiMa.Text

rstZhuCe!姓名 = TextXingMing.Text

rstZhuCe!昵称 = TextNiCheng.Text

rstZhuCe!联系地址 = TextLianXiDiZhi.Text

rstZhuCe!邮政编码 = TextYouBian.Text

rstZhuCe!OICQ = TextOICQ.Text

rstZhuCe!电子邮件 = TextMail.Text

rstZhuCe!呼机 = TextHuJi.Text

rstZhuCe!手机 = TextShouJi.Text

rstZhuCe!密码提问 = TextTiShiWenTi.Text

rstZhuCe!提问答案 = TextTiShiDaAn.Text

rstZhuCe!电话号码 = TextDianHua.Text

rstZhuCe.Update '将上面所有的信息存储到数据库中

MsgBox "注册成功", vbOKOnly + vbInformation, "注册成功"

Else

MsgBox "校验密码与密码不一致,请重新输入", vbOKOnly + vbExclamation, _

"密码错误"

TextMiMa.Text = ""

TextJiaoYan.Text = ""

End If

End If

下面为修改用户密码(在此中我并没用到上面提到的两种方法,但是这种方法也很简单,实际上应该是

属于第一种方法.

代码如下:

Dim a As String

Dim b As String

If TextYongHuMing.Text = "" Or TextMiMa.Text = "" Or TextJiaoYanMiMa.Text = ""

Or TextXinMiMa.Text = "" Then

MsgBox "修改信息填写不完全,请重新填写!", vbOKOnly + vbInformation, "修改错误"

TextYongHuMing.Text = ""

TextMiMa.Text = ""

TextJiaoYanMiMa.Text = ""

TextXinMiMa.Text = ""

Else

If TextXinMiMa.Text <> TextJiaoYanMiMa.Text Then

MsgBox "校验密码与新密码不一致,请重新填写!", vbOKOnly + vbExclamation, "密码错误"

TextJiaoYanMiMa.Text = ""

TextXinMiMa.Text = ""

End If

a = "select 用户名,密码 from 注册 where 用户名='" & _

TextYongHuMing.Text & _

"' AND 密码= '" & _

TextMiMa.Text & "';"

rstZhuCe.Open a, ZhuCe, adOpenKeyset, adLockOptimistic

rstZhuCe!密码 = TextXinMiMa.Text

MsgBox "密码修改成功,您的新密码是:" & rstZhuCe!密码& "!", vbOKOnly +

vbInformation, "修改成功"

End If

也许你这样看起来的确实有点麻烦,不过你可以去下载全部程序,那样看起来比较简单!

下面是用户的删除.

代码如下:

Dim a As String

Dim ok As Integer

Dim i As Integer

rstZhuCe.MoveFirst

For i = 0 To rstZhuCe.RecordCount - 1

If rstZhuCe!用户名= ComboYongHuMing.Text And rstZhuCe!密码 =

TextMiMa.Text Then

ok = MsgBox("你确定真的要将此用户删除吗?", vbOKCancel + vbQuestion, "提示")

If ok = 1 Then

rstZhuCe.Delete adAffectCurrent '删除所找到的用户

MsgBox "此用户已经成功删除!", vbOKOnly + vbInformation, "删除成功"

End If

End If

rstZhuCe.MoveNext

Next I

好了到此为止,我向大家介绍了一下ADO对象的简单知识与基本用法,并赋上我的一点经验供大家参考。

VB程序中用ADO对象动态创建数据库和表

收藏

新一篇: 掌握VB中的ADO数据对象编程 | 旧一篇: 调查显示:技术支持成Linux最主要的弱点

1: 问题的提出

在Visual Basic中,常用的数据访问接口有下列三种:数据库访问对象(DAO,Data Access Obj ect)、远程数据库对象(RDO,Remote Data Object)和ActiveX数据对象(ADO,ActiveX Data Obj ect )。数据库访问技术一直在不断进步,而这三种接口的每一种都分别代表了该技术的不同发展阶段。最新的是ADO,它是比RDO和DAO更加简单,然而更加灵活的对象模型。正因如此,越来越多的人在用VB开发数据库软件时使用ADO作为数据访问接口。在开发过程中,我们通常的使用的方法是:先使用数据库管理系统(例如:Microsoft Access)或VB中的可视化数据管理器建立好数据库和数据表结构,然后在程序中通过使用ADODC数据库控件或引用ADO对象与数据库中的表建立连接,再通过数据库感知控件(例如:文本框、DataGrid等)来进行数据库的各种操作。在这种开发过程中,我们有时需要面对这样一个问题:如何让用户在程序运行过程中动态地建立自己所需的数据库和数据表以提高程序的灵活性呢?在程序运行过程中建立自己所需的数据库和数据表,其本质就是用代码(或者说通过编程)来建立数据库和数据表。众所周知,在Foxpro或ASP编程中,这是很容易的一件事件。那么在VB数据库编程中又是怎样来操作的呢?在VB数据库编程中,如果使用DAO作为数据库访问接口技术,则可以用CreateDatabas e结合CreateTableDef方法来实现,目前已有不少书和杂志都讲到了这种方法,本文就不再讲述了;但你如果使用的是最新的数据库访问接口技术ADO,你却发现目前的书和杂志上没有文章讲到如何用代码来建立数据库和数据表的方法,可有时我们非常需要用到这种方法,下面我们就来解决这个问题。

2: ADO与ADOX

我们先来对ADO 和ADOX进行简单的认识。在VB6中,使用ADO开发数据库应用程序时,我们要引用对象库"Microsoft ActiveX Data Objects 2.5 Library",这个东西的简称就是ADO,它是V B6数据库最核心的对象群,也是VB数据库开发人员经常所引用的对象库,在VB6中你可以看到它的各种版本,从2.0版到2.6版都有,很多人对它已经很熟悉,在此我们不再详细介绍。如果要在程序运行过程中创建数据库和表,我们还要引用对象库"Microsoft ADO Ext 2.1. For DDL Security",简称为A DOX,其库文件名为是:Msadox.dll。ADOX是对 ADO 对象和编程模型的扩展,它将 ADO 扩展为包括创建、修改和删除模式对象,如表格和过程。它还包括安全对象,用于维护用户和组,以及授予和撤消对象的权限。ADOX的对象如下表所示:

对象说明

Catalog 包含描述数据源模式目录的集合。

Column 表示表、索引或关键字的列。

Group 表示在安全数据库内有访问权限的组帐号。

Index 表示数据库表中的索引。

Key 表示数据库表中的主关键字、外部关键字或唯一关键字。

Procedure 表示存储的过程。

Table 表示数据库表,包括列、索引和关键字。

User 表示在安全数据库内具有访问权限的用户帐号。

View 表示记录或虚拟表的过滤集。

ADOX常用方法有:Append(包括Columns、Groups、Indexes、Keys、Procedures、Tables、Users、Views)、Create(创建新的目录)、Delete(删除集合中的对象)、Refresh(更新集合中的对象)等等。有关 ADOX 的详细信息,请在 https://www.360docs.net/doc/10938083.html,/data/ado 中参阅 Microsoft 发布的有关 ADOX说明的Web页。

3: 在原有数据表的基础上产生新的数据表

如果仅仅是在已有的数据表的基础上产生新的数据表,我们只要引用对象库"Microsoft ActiveX Da ta Objects 2.5 Library"再利用Select…Into语句就可以了。例如:有一个名为Wage.mdb的数据库,数据库中有一个名为"工资表"数据表,该数据表的字段有:编号、姓名、基本工资、津贴、应发工资、扣款、实发工资等,这个表中已经有很多的记录。现在我们把其中的实发工资大于2000的记录筛选出来组成一个新表,新表的名称由用户从文本框中输入,新表中我们只要三个字段,它们是:编号、姓名、实发工资。我们用下列程序就可以实现:

(事先在窗体中添加一个文本框Text1和一个命令按钮Command1)

Dim conn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim command As New https://www.360docs.net/doc/10938083.html,mand

Private Sub Command1_Click()

Dim bm As String

Dim sql As String

If Text1.Text <> "" Then

bm = Trim(Text1.Text)

sql= "Select 编号,姓名,实发工资Into " + bm + " From 工资表 Where 实发工资>2000"

Set command.ActiveConnection = conn

https://www.360docs.net/doc/10938083.html,mandText = sql

command.Execute

Else

MsgBox "你必须输入一个名字"

End If

Private Sub Form_Load()

Dim str As String

str = App.Path

If Right(str, 1) <> "\" Then

str = str + "\"

End If

pstr = "Provider=Microsoft.Jet.OLEDB.3.51;"

pstr = pstr & "Persist Security Info=False;"

pstr = pstr & "Data Source=" & str & "wage.mdb"

conn.Open pstr

rs.CursorLocation = adUseClient

rs.Open "工资表", conn, adOpenKeyset, adLockPessimistic

Set DataGrid1.DataSource = rs

End Sub

当然,我们还可以把程序设计得更好,比如:让用户先在窗口中任意选择所需的字段和一些条件,然后再组合生成一个新表。但无论如何,这种操作只能在从原表的基础上产生一个新表,不能产生一个数据库文件,并且新表和原表放在同一个数据库中。

4: 建立新的数据库和表

前面讲到的方法有一定的局限性,它不能让用户产生自己所需的数据库文件,即使能产生数据表也只能在原有表的基础上生成。我们现在的目的就是让用户利用ADO对象在程序运行过程中创建数据库和表,就好象他利用Access来建立数据库和表一样。为此,我们应该引用对象库"Microsoft ActiveX Data O bjects 2.5 Library"和"Microsoft ADO Ext 2.1. For DDL Security"

我们不妨用一个实例来说明具体的操作过程和方法。我们的实例要达到目的是:在程序运行过程中建立一个数据库,数据库的名称由用户输入。然后在数据库中建立一个名为"MyTable"的数据表,数据表中有三个字段,它们分别是:"编号"(整数型)、"姓名"(字符型,宽度为8)、"住址" (字符型,宽度为50),接着在数据表中添加一条记录,最后在DataGrid控件中把记录的内容显示出来,并且让用户在DataGri d控件中任意修改、添加记录。

首先在VB中新建一个窗体,然后在"工程"菜单中引用对象库"Microsoft ActiveX Data Objects 2.

5 Library"和"Microsoft ADO Ext 2.1. For DDL Security"。接着定义三个窗体级的对象变量和一个窗体级的字符串变量,它们的具体定义是:

Dim cat As New ADOX.Catalog '不用cat用另外一个名字也可以

Dim conn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim pstr As String '定义该变量是为了后面的书写方便

为了更灵活地创建数据库,我们可以在窗体中加入一个通用对话框、一个DataGrid控件,三个命令

按钮,它们的标题分别是:创建数据库和表、查看、更新。通用对话框的作用是给用户输入数据库文件名和决定数据库的存放位置。"创建数据库和表"命令按钮对应的代码是:

Private Sub Command1_Click()

Dim fm As String 'fm变量用来获取用户输入的文件名

CommonDialog1.Filter = "MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|"

CommonDialog1.FilterIndex = 1

CommonDialog1.InitDir = "D:\Jthpaper"

CommonDialog1.Flags = 6

CommonDialog1.Action = 2

If CommonDialog1.FileName = "" Then

MsgBox "你必须输入一个文件名,请重新保存一次!"

Exit Sub

Else

fm = CommonDialog1.FileName

End If

pstr = "Provider=Microsoft.Jet.OLEDB.4.0;" '不能把这里的4.0改为3.51

pstr = pstr & "Data Source=" & fm

cat.Create pstr '创建数据库

Dim tbl As New Table

cat.ActiveConnection = pstr

https://www.360docs.net/doc/10938083.html, = "MyTable" '表的名称

tbl.Columns.Append "编号", adInteger '表的第一个字段

tbl.Columns.Append "姓名", adVarWChar, 8 '表的第二个字段

tbl.Columns.Append "住址", adVarWChar, 50 '表的第三个字段

cat.Tables.Append tbl '建立数据表

conn.Open pstr

rs.CursorLocation = adUseClient

rs.Open "MyTable", conn, adOpenKeyset, adLockPessimistic

rs.AddNew '往表中添加新记录

rs.Fields(0).Value = 9801

rs.Fields(1).Value = "孙悟空"

rs.Fields(2).Value = "广州市花果山"

rs.Update

End Sub

上面程序中有一个需要说明的地方,这就是语句:pstr = "Provider=Microsoft.Jet.OLEDB.4.0;",这个语句表示Microsoft Jet OLEDB驱动程序的版本是4.0,这是目前最新的版本,利用它你可以用VB 中的ADO对象访问Access2000及其以下版本所建立的数据库。你不能把这里的"4.0"改为"3.51",否则程序不能正常运行;在VB6中,3.51版本的Microsoft Jet OLEDB驱动程序对应的是Access97数据库。换而言之,用这种方法建立的数据库和表跟用Access2000所建立的数据库和表是同一类型的,你只能直接用Access2000来打开,虽然你可以用VB6来访问这种数据库和其中的数据表,但你不能用Ac cess97或VB6中的"可视化数据管理器"来直接打开。

在程序运行时只要用户单击该命令按钮就可以创建自己所需的数据库。"查看"命令按钮对应的代码是:

Private Sub Command3_Click()

Set DataGrid1.DataSource = rs

End Sub

"更新"命令按钮对应的代码是:

Private Sub Command4_Click()

rs.UpdateBatch

End Sub

我们这个实例只是用来说明问题,在实际应用当中你可以把它进一步改进,例如:你在窗体中再增加一些文本框和组合框,供用户输入或选择数据表的名称、字段的名称、字段的宽度和小数位数。这样,用户就可以自主地决定数据库的所有内容了,程序的灵活性也就大大提高了。

5: 结束语

如果你使用的是最新的数据访问接口技术ADO(Microsoft强烈建议大家使用这种最新技术),你又想在程序运行过程中创建数据库文件和数据表,此时,你应该在Visual Basic 6.0中引用对象库"Microsof t ActiveX Data Objects 2.5 Library"和"Microsoft ADO Ext 2.1. For DDL Security",然后使用ADOX对象的Create、Append等方法就可以实现。这种方法使用的Microsoft Jet OLEDB驱动程序的版本是4.0,因此,使用这种方法建立的数据库文件和数据表可以直接使用Access2000打开。笔者在VB数据库软件开发过程中已多次使用这种方法,该方法在提高程序的灵活性和满足用户的特殊需要方面有很大的作用。

VB SQL编程基础教程

https://www.360docs.net/doc/10938083.html,数据库编程基础教程 罗珊 众所周知,https://www.360docs.net/doc/10938083.html,自身并不具备对数据库进行操作的功能,它对数据库 的处理是通过.NET FrameWork SDK中面向数据库编程的类库和微软的MDAC来实现的。其中,https://www.360docs.net/doc/10938083.html,又是.NET FrameWork SDK中重要的 组成部分。要了解https://www.360docs.net/doc/10938083.html,的数据库编程,首先要明白https://www.360docs.net/doc/10938083.html,的工作原理以及相关的对象、方法、属性。本文将结合具体实例为你简单介绍https://www.360docs.net/doc/10938083.html,数据库访问对象以及https://www.360docs.net/doc/10938083.html,数据库编程基本方法。 一、https://www.360docs.net/doc/10938083.html,数据库访问对象 (一)https://www.360docs.net/doc/10938083.html,简介 https://www.360docs.net/doc/10938083.html,是由微软Microsoft ActiveX Data Object(ADO)升级发展而来的。是在.NET中创建分布式数据共享程序的开发接口。https://www.360docs.net/doc/10938083.html,的数据存取API提供两种数据访问方式,分别用来识别并处理两种类型的数据源,即SQL Server7.0(及更高的版本)和可以通过OLE DB进行访问的其他数据源。为此https://www.360docs.net/doc/10938083.html,中包含了两个类库,System.Data.SQL库可以直接连接到SQL Server的数据,System.Data.ADO库可以用于其他通过OLE DB进行访问的数据源。如Access数据。 (二)https://www.360docs.net/doc/10938083.html,的名称空间

https://www.360docs.net/doc/10938083.html,是围绕System.Data基本名称空间设计,其他名称空间都是从System.Data派生而来。它们使得https://www.360docs.net/doc/10938083.html,不仅访问DataBase中的数据,而且可以访问支持OLE DB的数据源。 当我们讨论https://www.360docs.net/doc/10938083.html,时,实际讨论的是System.Data和System.Data.OleDb 名称空间。这两个空间的所有类几乎都可以支持所有类型的数据源中的数据。这里我们讨论与后文实例有关的类。即OleDbconnection、OleDbDataAdapter、DataSet和DataView。 上面列举的类中没有OleDb前缀的,派生自System.Data空间,有此前缀的派生自System.Data.OleDb空间。在使用中,如果要引用OleDb前缀的类,必须导入System.Data.OleDb名称空间。语法如下: Imports System.Data.OleDb 使用没有此前缀的类必须导入System.Data名称空间。语法如下:Imports System.Data 1.OleDbConnection类 OleDbConnection类提供了一个数据源连接。这个类的构造函数接受一个可选参数,称为连接字符串。 (1)连接字符串: 连接字符串本身由下表中列出的参数构成。(图) 我们来看一下如何在连接字符串上使用参数来初始化一个连接对象。

vb连接ACCESS数据库实例

vb连接ACCESS数据库实例 下面给你一个用ADO的代码链接的实例:(ACCESS 2003) 首先在工程中点击【工程】-【引用】,在打开的对话框选择Microsoft AxtiveX Data Objects 2.8 Library 勾选,然后定义二个对象: Dim conn As New ADODB.Connection, rs As New ADODB.Recordset 其中conn是数据库链接对象,rs是数据记录集对象 那么,下面就是利用SQL语句链接数据库了: conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\library\1.mdb;Jet OLEDB:Database Password=" strSQL = "SELECT * FROM 数据库中的表" rs.Open strSQL, conn, 3, 3 至此数据库已经链接成功,并且已经加载了记录集,下面你就可以进行数据操作了,注意,在数据库操作完成后,千万别忘记关闭记录集和数据库链接对象: rs.Close conn.Close '首先,工具->引用->选中Microsoft ActiveX Data Objects 2.X Library '必须选中,否则下面代码不会起作用!(以下链接数据库之方式,不需要使用ADODB控件,仅需代码即可) Public Conn As New ADODB.Connection Public Rs As New ADODB.Recordset Public Cnt As Integer '这个Cnt是用来表示数据库数据总量的,对链接过程无关 '连接数据库的代码段 Conn.CursorLocation = adUseClient '以Conn为链接名建立链接,这里是设置数据游标(客户端数据游标),即设定读取数据库数据之方式(一行一行地读) Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\test.mdb" '自己改动一下上面的路径和文件名即可,其他的代码你不理解照粘贴无妨 If Rs.State <> adStateClosed Then Rs.Close Rs.Open "SELECT 铺名, 上月读数, 本月读数, 实用度数, 铺位数, 首层面积, 非经营层 面积, 欠费明细, 欠费金额FROM data WHERE 首层面积is not null and 非经营层面积 is not null;", Conn, adOpenKeyset, adLockPessimistic Cnt = Rs.RecordCount '关闭数据库链接(一般放到子过程结束处,关闭数据库链接) Rs.Close Conn.Close Set Rs = Nothing

VB使用ADODB操作数据库

VB使用ADODB操作数据库 Dim conn As New ADODB.Connection ’创建一个 Connection 实例,在这里使用New等于将Dim和Set合并为一段代码执行 Dim rs As ADODB.Recordset ’创建一个 Recordset 实例,不使用New 是因为,经常需要重复使用Set,因此没必要在这里使用 Dim CnStr As String, Sql As String ’创建两个字符串变量分别存放两个集合的SQL语句代码段 1、装载数据库(不属于Recordset集合) ============= Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$ ’以上5个字符串变量分别表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码 FileName = App.Path & "\’数据库名’" DbIp = "数据库地址" DbName = "数据库名" DbUser = "数据操作员用户名" DbPw = "操作员密码" ’以上变量根据数据库类型的不同而不同,有可能只需要1至两个变量 ’1)连接Access数据库: ’------------------- CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data source=" & FileNa me & ";Jet OLEDB:Database Password=" & DbPw ’2)连接Oracle数据库: ’------------------- CnStr = "PROVIDER=MSDAORA.1;Password=" & DbPw & ";User ID=" & DbUser & ";Data S ource=" & FileName & ";Persist Security Info=True" ’其中: ’PASSWORD:密码 ’User ID: 用户号 ’Data Source: 数据库名 ’Persist Security Info: ’Provider: ’3)连接VF的DBF库: ’---------------- CnStr = "PROVIDER=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPr

VB+数据库编程之+ADO+连接数据库实例

VB 数据库编程之 ADO 连接数据库实例 这里先说说ADO的ACCESS数据库连接吧,两种。 1.ADO控件连接 “工程”菜单→“部件...”:Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 并将Adodc数据控件绘入窗体。 右击Adodc数据控件→属性→使用连接字符串→生成→Microsoft Jet 4.0 OLE DB Provider→数据位置→找到要连接的ACCESS数据库文件…… Adodc数据控件的RecordSource属性为“2 - adcmdTable”和你要连接的表名。 控件的引用实例如下: '组合框(Combo)控件列表用某字段数据记录填充范例 '在窗体Load事件或Combo的相关事件中写入 '循环1到记录总数 For i = 1 To Adodc1.Recordset.RecordCount '如果不在记录集结尾则 If Not Adodc1.Recordset.EOF Then '组合框增加一行:“姓名”字段的值 Combo1.AddItem Adodc1.Recordset.Fields("姓名").Value '记录指针向后一个 Adodc1.Recordset.Movenext End If Next i 2.ADO代码连接 通用声明 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim cmd As New https://www.360docs.net/doc/10938083.html,mand Private Sub Form_Load() '实例化Connection对象 Set cn = New ADODB.Connection cn.CursorLocation = adUseClient cn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & App.Path & "\personnel.mdb;" 'Recordset对象 Set rs = New ADODB.Recordset rs.Open "职工信息", cn, adOpenDynamic, adLockOptimistic

(完整版)vb连接access数据库及数据读写操作

ACCESS数据库和VB的连接 Edited by Ryan 2013 1、建立Access数据库 2、启动VB,建立标准EXE 图1 3、添加ActiveX控件 鼠标指向任意VB控件,单击右键,选择“部件(O)”,出现图3所示界面 图2

图3 选择部件“Microsoft ADO Data Control 6.0 (OLEDB)”,出现如图4所示控件 图4

4、添加控件Adodc 图5 4、在控件Adodc上添加数据源 鼠标指向控件Adodc1,单击右键,选择“ADODC 属性”,弹出如图7所示界面 图6

图7 单击“生成(U). . .”,弹出如图8所示界面 图8 选择“Microsoft Jet 4.0 OLE DB Provider”,单击“下一步(N) >>”,弹出如图9所示界面

图9 单击“. . .”,添加数据源(第一步所建Access 数据库),如图10所示 图10 单击“测试连接(T)”,出现提示框,如图11所示 图11 之后点击“确定”,退回到如图12所示界面

图12 单击“记录源”,弹出如图13所示界面 图13 在“命令类型”下,选择“1 - adCmdText”,在“命令文本(SQL)”下,输入“Select * from test1”,最后单击“应用”,“确定”即可 之后,进入程序书写部分 程序部分需要注意接头形式及简单例子如下: Private Sub Command1_Click() ‘VB按钮控件 Dim mydb As New ADODB.Connection ‘定义新的数据库连接 mydb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\read database\test1\test1.mdb" ‘数据库绝对路径 Dim rs As New ADODB.Recordset ‘定义数据库的一个对象 mydb.Open ‘打开数据库 rs.Open "select * from test1", mydb, 3, 3 ‘打开数据库中的表test1

第七讲 VB访问SQL Server2000数据库的方法

第七讲 VB访问SQL Server2000数据库的方法 一、ODBC数据源设置 1、ODBC简介 ODBC Open DatabaseConnectivity开放式数据库互连)是Mircosoft公司有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API Application应用程序编程接口)。这些API利用SQL来完成大部分的任务。ODBC本身提供对SQL语言的支持,用户可以直接将SQL送给ODBC一个基于ODBC的应用程序对数据库操作不依赖于任何DBMS,不直接与DBMS打交道,所有数据库操作由ODBC驱动程序完成。 2、ODBC数据源的创建(建立ODBC数据源) 前台系统Windows 2000 professional系统,后台Windows 2000 Server系统。以Windows 2000 professional为例: (1)单击“开始”/设置/控制面板/管理工具/数据源ODBC,打开“ODBC数据源管理器”,选择“用户DSN or 系统DSN”,单击【添加】按钮,打开“创建用户数据源”对话框,选择“SQL Server”,单击【完成】按钮。

(2)打开“创建新的数据源到SQL Server”窗口: ○1你想用什么名称命名数据源:在名称框中输入xn。 ○2服务器:为网络中数据库服务器(默认是本地服务器Local,可选远程服务器IP)。 ○3登陆ID:xn密码:xn(取决于安装SQL时所指定的密码)。特别注意此处为确保数据库安全起见,数据库管理员可以给用户指定一个用户名及密码。这里为简便起见使用管理员用户名及密码。 ○4更改数据库为:aa(所要使用的数据库)。

VB数据库操作实例

VB数据库操作实例 工具/原料 VB数据库操作对很多初学者朋友感到比较吃力,目前教材中的实例对数据库操作都比较单一,很多朋友提议我做一个包括浏览、添加、修改、删除功能的数据库操作实例,下面这个实例就是一个这样的数据库操作实例。 步骤/方法 1. 1 《书库管理系统》是一个最简单的数据库操作实例,它包括浏览、添加、修改、删除功能的数据库操作,使用数据链接控件Adodc链接数据库、数据显示控件MSHFlexGrid显示数据库中的记录。 在新建工程时工具箱中是没有Adodc控件和MSHFlexGrid控件的,我们必须点击菜单中的【工程】-【部件】,在对话框中勾选“Microsoft ADO Data Control 6.0 (SP6)”和“Microsoft Hierarchical FlexGrid Control 6.0 (SP4)”,最后点击【确定】,这样Adodc控件和MSHFlexGrid控件就已经放置在工具箱中了。 其中Adodc控件的ConnectionString属性值是:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=家庭书架.mdb;Persist Security Info=False",它设置链接了“家庭书架.mdb”这个Access数据库,RecordSourc属性值是:"select 图书登记表.ID,图书登记表.名称,图书登记表.

书号,图书登记表.作者,图书登记表.出版社,图书登记表.出借状态,出借记录.借书人,出借记录.电话,出借记录.地址,图书登记表.备注,图书登记表.出借记录from 图书登记表,出借记录where 图书登记表.ID=出借记录.zhuID ORDER BY 图书登记表.ID",因为在“家庭书架.mdb”数据库中包含"图书登记表"和"出借记录"二个数据表,这是多表链接的典型的SQL语句。Adodc 的这二个属性值在VB的属性窗口进行编辑,你可以将上述属性值直接输入到相应的属性中,设置Visible的值为False,目的是在运行中不显示这个控件,其他属性默认值即可。 MSHFlexGrid控件的名称我们修改为MS1,它的属性设置稍稍比较麻烦:首先将它的DataSource属性在属性窗口设置为"Adodc1"; 然后在对象窗口右击控件,在下拉菜单中点击【属性】,在“通用”标签中修改行为3,修改列为11,修改固定行为0,修改固定列为0,如果数据链接没有问题,在属性的“带区”标签中可以看到列标题和列名称已经设置了,其他属性页的属性可以容许默认值,中点击【确定】即可。 另外在属性窗口设置MSHFlexGrid控件的BackColorBkg属性为&H00FFE0E0&,这个属性是控件底色的设置,然后设置BackColorFixed属性为&H00C0FFFF&,这个属性是控件数据显示标题的底色。其他默认值即可。 最后放置三个按钮,一个标签,三个Frame控件,在Frame1、Frame2、Frame3控件中分别放置9个标签(数组),8个文本框,一个下拉选择框,一个按钮,在Frame2、Frame3控件中分别放置一个标签,设置这个标签的Visible值为False,其他设置参考下图:设置和调整控件如上图后,设置数据库,在

VB数据库编程实用源码

使用ADO编程模型需添加ADO对象类库的“引用”----“Microsoft ActiveX Data Objects 2.x Library” ADO之VB数据库操作主要包括读、写、修改及删除等操作,不论是进行什么数据库操作都必须首先连接到数据库。 一、连接到数据库 1、连接到SQL数据库: 通过ADO的Connection对象可实现VB与SQL数据库的连接。一般方法如下: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.ConnectionString = "Provider=SQLOLEDB.1;Password=密码;User ID=用户名;Initial Catalog=SQL数据库文件;Data Source= localhost;" '指定提供者,设置数据源 cnn.Open …打开到数据库的连接 …….. cnn.Close …关闭到数据库的连接 或者: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.Open "Provider=SQLOLEDB.1;Password=密码;User ID=用户名;Initial Catalog=SQL数据库文件;Data Source= localhost;" …打开到数据库的连接 …….. cnn.Close …关闭到数据库的连接 2、连接到ACCESS数据库: 通过ADO的Connection对象可实现VB与ACCESS数据库的连接。一般方法如下: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ACCESS数据库文件.MDB" '指定提供者,设置数据源 cnn.Open …打开到数据库的连接 …….. cnn.Close …关闭到数据库的连接 或者: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ACCESS数据库文 件.MDB" …打开到数据库的连接

VB使用ADODB操作数据库的常用方法

VB使用ADODB操作数据库的常用方法 ADO常用方法 下面是我所掌握的使用ADO对数据库操作的一些常用方法,主要是提供给初学者作为参考,有不对的地方请指正。如有补充不胜荣幸 准备工作 ======== Dim conn As New ADODB.Connection '创建一个 Connection 实例,在这里使用New等 于将Dim和Set合并为一段代码执行 Dim rs As ADODB.Recordset '创建一个 Recordset 实例,不使用New 是因为,经常 需要重复使用Set,因此没必要在这里使用 Dim CnStr As String, Sql As String'创建两个字符串变量分别存放两个集合的SQL语句代码段 1、装载数据库(不属于Recordset集合) ============= Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$ '以上5个字符串变量分别表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码 FileName = App.Path & "\'数据库名'" DbIp = "数据库地址" DbName = "数据库名" DbUser = "数据操作员用户名" DbPw = "操作员密码" '以上变量根据数据库类型的不同而不同,有可能只需要1至两个变量 '1)连接Access数据库: '------------------- CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data so urce=" & FileName & ";Jet OLEDB:Database Password=" & DbPw '2)连接Oracle数据库:

vb连接access数据库常用的方法两种示例

这里以链接access数据库为例。 第一部分就是通过语句链接,第二部分就是通过控件链接一、 通过语句链接数据库,然后把相应得数据赋值给某个文本框就行了。 1、首先定义几个全局变量 Dimcn As NewADODB、Connection Dim rs As New ADODB、Recordset Dim constrAsString 2、给这些变量赋值,方便链接数据库 constr = "Provider=Microsoft、Jet、OLEDB、4、0;"&"DataSource=D:\EffectSolution\科学效应数据库、mdb" 红色部分写您自己得数据库路径。 3、打开数据库 cn、openconstr 打开表 rs、open“select * from 效应表whereid=5“,cn 取字符串并赋值给相应得文本 Text1、text=rs、fields(“效应与现象名称”) Text2、text=rs、fields(“文字解说”) 关闭表 rs、close 关闭数据库 cn、close 注意,最后两步骤一定要有,不然下次打开数据库得时候会提

示出错得,这样得话,在窗口上建立两个文本框就够了。 但就是,在此之前还有一步一定要做, 点"工程"-"引用"-找到"Microsoft ActiveX Data Object2、6 ",如图所 示:

显示得结果如下图所示: 通过与效应表对比发现显示正确。 总体代码如下: Private Sub Form_Load() Dim cn As New ADODB、Connection Dim rs As NewADODB、Recordset Dim constrAsString constr="Provider=Microsoft、Jet、OLEDB、4、0;" &_ "Data Source=D:\EffectSolution\科学效应数据库、mdb" '空格加短下划线表示续行 cn、open constr rs、open "select*from 效应表where id =5", cn Text1、Text = rs、fields("效应与现象名称") Text2、Text = rs、fields("文字解说")

VB代码动态建立数据表

https://www.360docs.net/doc/10938083.html,mandText = sql command.Execute Else MsgBox "你必须输入一个名字" End If Private Sub Form_Load() Dim str As String str = App.Path If Right(str, 1) <>"\" Then str = str + "\" End If pstr = "Provider=Microsoft.Jet.OLEDB.3.51;" pstr = pstr & "Persist Security Info=False;" pstr = pstr & "Data Source=" & str & "wage.mdb" conn.Open pstr rs.CursorLocation = adUseClient rs.Open "工资表", conn, adOpenKeyset, adLockPessimistic Set DataGrid1.DataSource = rs End Sub 当然,我们还可以把程序设计得更好,比如:让用户先在窗口中任意选择所需的字段和一些条件,然后再组合生成一个新表。但无论如何,这种操作只能在从原表的基础上产生一个新表,不能产生一个数据库文件,并且新表和原表放在同一个数据库中。 4: 建立新的数据库和表 前面讲到的方法有一定的局限性,它不能让用户产生自己所需的数据库文件,即使能产生数据表也只能在原有表的基础上生成。我们现在的目的就是让用户利用ADO对象在程序运行过程中创建数据库和表,就好象他利用Access来建立数据库和表一样。为此,我们应该引用对象库"Microsoft ActiveX Data Objects 2.5 Library"和"Microsoft ADO Ext 2.1. For DDL Security" 我们不妨用一个实例来说明具体的操作过程和方法。我们的实例要达到目的是:在程序运行过程中建立一个数据库,数据库的名称由用户输入。然后在数据库中建立一个名为"MyTable"的数据表,数据表中有三个字段,它们分别是:"编号"(整数型)、"姓名"(字符型,宽度为8)、"住址" (字符型,宽度为50),接着在数据表中添加一条记录,最后在DataGrid控件中把记录的内容显示出来,并且让用户在DataGrid控件中任意修改、添加记录。

VB数据库操作实例

VB数据库操作实例 2008年02月22日 05:49 VB数据库操作对很多初学者朋友感到比较吃力,目前教材中的实例对数据库操作都比较单一,很多朋友提议我做一个包括浏览、添加、修改、删除功能的数据库操作实例,下面这个实例就是一个这样的数据库操作实例。 《书库管理系统》是一个最简单的数据库操作实例,它包括浏览、添加、修改、删除功能的数据库操作,使用数据链接控件Adodc链接数据库、数据显示控件MSHFlexGrid显示数据库中的记录。 在新建工程时工具箱中是没有Adodc控件和MSHFlexGrid控件的,我们必须点击菜单中的【工程】-【部件】,在对话框中勾选“Microsoft ADO Data Control 6.0 (SP6)”和“Microsoft Hierarchical FlexGrid Control 6.0 (SP4)”,最后点击【确定】,这样Adodc控件和MSHFlexGrid控件就已经放置在工具箱中了。 其中Adodc控件的ConnectionString属性值是: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=家庭书架.mdb;Persist Security Info=False",它设置链接了“家庭书架.mdb”这个Access数据库,RecordSourc属性值是:"select 图书登记表.ID,图书登记表.名称,图书登记表.书号,图书登记表.作者,图书登记表.出版社,图书登记表.出借状态,出借记录.借书人,出借记录.电话,出借记录.地址,图书登记表.备注,图书登记表.出借记录 from 图书登记表,出借记录 where 图书登记表.ID=出借记录.zhuID ORDER BY 图书登记表.ID",因为在“家庭书架.mdb”数据库中包含"图书登记表"和"出借记录"二个数据表,这是多表链接的典型的SQL语句。Adodc的这二个属性值在VB的属性窗口进行编辑,你可以将上述属性值直接输入到相应的属性中,设置Visible的值为False,目的是在运行中不显示这个控件,其他属性默认值即可。 MSHFlexGrid控件的名称我们修改为MS1,它的属性设置稍稍比较麻烦:首先将它的DataSource属性在属性窗口设置为"Adodc1"; 然后在对象窗口右击控件,在下拉菜单中点击【属性】,在“通用”标签中修改行为3,修改列为11,修改固定行为0,修改固定列为0,如果数据链接没有问题,在属性的“带区”标签中可以看到列标题和列名称已经设置了,其他属性页的属性可以容许默认值,中点击【确定】即可。 另外在属性窗口设置MSHFlexGrid控件的BackColorBkg属性为&H00FFE0E0&,这个属性是控件底色的设置,然后设置BackColorFixed属性为&H00C0FFFF&,这个属性是控件数据显示标题的底色。其他默认值即可。 最后放置三个按钮,一个标签,三个Frame控件,在Frame1、Frame2、Frame3控件中分别放置9个标签(数组),8个文本框,一个下拉选择框,一个按钮,在Frame2、Frame3控件中分别放置一个标签,设置这个标签的Visible值为False,其他设置参考下图:

vb数据库操作实例

第一部分:vb数据库操作实例 vb神童教程(续)--编写一个小型的信息管理系统 vb神童教程(续)--准备数据库 vb神童教程(续)--设计系统的界面及对象的属性 vb神童教程(续)--为对象添加事件代码 vb神童教程(续)--编写一个小型的信息管理系统 受委托为编程入门网做一个简单的vb操作数据库的实例,来演示一下如何用vb 向数据库中添加、修改、删除记录这些操作。我觉得自己是比较菜的,几年来别人都在进步,只有我还在原地踏步。不过没有办法,我们这一圈人里现在只有我机器上还有vb6,勉为其难,只有尝试一下了。如果我写的这点幼稚的东西能为想要了解vb数据库操作的朋友提供哪怕是一丁点儿的参考和帮助,将是我最为高兴的事情,同时也希望高手不要见笑。 我做的这个实例名为“编程入门网网址管理系统”,算是一个小型的信息管理系统吧。该系统后台使用的是Access数据库,程序中使用ADO代码链接的形式连接Access。该系统具有向数据库中添加、修改、删除记录的功能,进行某项操作后能够实时刷新显示数据。并在程序中加了相应的代码对输入的数据进行合法性校验,以避免输入错误的数据造成程序运行不正常,程序运行时各个操作及退出系统时均有友好的提示框请用户确认。所有代码均在Windows 2003+Vusual Basic 6.0环境下调试通过。 系统运行时如下图:

vb神童教程(续)--准备数据库 我用的是Access 2003,因为需要讲解的仅仅是数据的添加、修改及删除,因此单数据库、单表就够了。如果以后您要编写更复杂一些的信息管理系统而涉及到多表操作,则您还需要补充一些关系数据库方面的知识,比如实体、一对一联系、一对多联系等等;此外,对sql语言也需要有所了解。具体您可以参考:数据库基础知识ABC。 首先,在“我的电脑”的e盘新建一个名为vb文件夹,先打开Access,新建一个名为Access_db的数据库(Access数据库文件的扩展名是.mdb),保存到刚才建立的文件夹中,则以后在程序中调用数据源的位置为 E:\vb\Access_db.mdb。 然后在Access_db.mdb中建立一个名为wzdz的表(wzdz是“网站地址”的首字母缩写), 然后在wzdz表中添加网站名称、网站地址及网站描述三个字段,三个字段的属性是相同的,如下: ▲数据类型:文本。 ▲字段大小:50 ▲有效性规则:无。 ▲必填字段:否 ▲允许空字符串:否 ▲索引:无 “编号”这个字段使用的是Access的自动编号,并将其作为主键。也就是说,您在表中设置以上三个字段即可,设置完毕保存表时,按Access的提示添加主键,Access会自动为您搞定。具体操作您可以参考:vb神童教程(续)--vb连接Access数据库实例 这样在建立了数据库及表结构之后,即使是调用没有记录的空库,系统也可以无差错运行,可以在运行时通过“添加记录”按钮向数据库中添加记录。不过由于数据库是空的,系统第一次运行时数据显示控件没有数据可显示,显得空荡荡的,不太美观哦。为了方便起见,我们在Access中给wzdz表中预先添加两条初始记录:

vb6.0连接远程sql数据库的模块以及使用实例

Vb6.0连接sql数据库的模块以及使用实例 打开VB6.0,新建工程SQL_data,新建一个EXE,并添加一个模块。如图 一:添加引用和部件(如下两图)蓝色的两个,是要选中打勾的。 注意,一个是“引用”,一个是“部件”。

二:添加一个模块Data_Sql,并把图下面的复制粘贴到模块中。 '连接SQL的模块 Public conn As ADODB.Connection Public rs As ADODB.Recordset Public addFlag As Boolean '声明部分 Public Function OpenCn(ByVal Cip As String, ByVal users As String, ByVal pw As String) As Boolean '连接模块填写数据库等信息 Dim mag As String

On Error GoTo strerrmag Set conn = New ADODB.Connection conn.ConnectionTimeout = 25 conn.Provider = "sqloledb" conn.Properties("data source").Value = Cip '服务器的名字 conn.Properties("initial catalog").Value = "pubs" '库名 'conn.Properties("integrated security").Value = "SSPI" '登陆类型 conn.Properties("user id").Value = users 'SQL库名 conn.Properties("password").Value = pw '密码 'sql = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=;Initial Catalog=pubs;Data Source=127.0.0.1" '如果不用这个模块也行可以,这一句便是常用的引擎。 'conn.ConnectionString = sql conn.Open OpenCn = True If conn.State = 1 Then addFlag = True Exit Function strerrmag: mag = "Data can't connect" Call MsgBox(mag, vbOKOnly, "Error:Data connect") addFlag = False Exit Function '连接错误消息 End Function '关闭数据库,释放连接 Public Sub cloCn() On Error Resume Next If conn.State <> adStateClosed Then conn.Close Set conn = Nothing End Sub Public Function openRs(ByVal strsql As String) As Boolean '连接数据库记录集 Dim mag As String Dim rpy As Boolean On Error GoTo strerrmag Set rs = New ADODB.Recordset If addFlag = False Then rpy = True With rs .ActiveConnection = conn .CursorLocation = adUseClient .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open strsql End With addFlag = True openRs = True

Vb对excel操作的实例

Vb对excel操作的实例 最近,由于工作关系,我用vb6.0做了一个计算成绩的软件,由于我不会数据库技术,同行对excel应用又比较普遍,所以就用vb6.0操作excel完成了成绩统计的任务。 先说说窗体,很简单,只运用了菜单,由此来调用程序代码。截图如下: 窗体命名为excel操作,共五个一级菜单。 创建表册用来制作所用表格。 计算成绩用来算成绩。

模拟运算用来测试软件,设置了两个子菜单,一个填随机生成的数据。有了数据就可以计算成绩了,看看效果如何。 测试完了就可以清空数据了,清空成绩册中的基础数据以后再计算一次成绩就基本可以使表册恢复原样了。其实,我这是多此一举,回头一想,只需要重新创建所用表册就行了。 还画蛇添足了俩菜单:计算器和退出。 代码也贴出来共享一下。 创建表册:一年级: Private Sub ynjkb_Click() Call 建空表(10) Call 工作表命名(1) Call 成绩册(1) Unload excel操作 End Sub

创建表册:二年级: Private Sub enjkb_Click() Call 建空表(10) Call 工作表命名(2) Call 成绩册(2) Unload excel操作 End Sub 三至六年级略了吧。 创建表册:学校总评: Private Sub xxzp_Click() nj(1) = "一年级": nj(2) = "二年级": nj(3) = "三年级": nj(4) = "四年级": nj(5) = "五年级": nj(6) = "六年级" Call 建空表(2) '建立积分表 Sheets(1).Name = "学校积分" Sheets(2).Name = "积分" Sheets("学校积分").Select Range("a1:i1").Merge [a1] = "学校积分统计表": [a2] = "学校": [a3] = "南村小学": [a4] = "东风小学": [a5] = "兴中小学": [a6] = "尧场小学" nj(1) = "一年级": nj(2) = "二年级": nj(3) = "三年级": nj(4) = "四年级": nj(5) = "五年级": nj(6) = "六年级"

用VB访问SQL SERVER数据库技术详解

用VB访问SQL Server数据库技术详解 文讨论了Visual Basic应用程序访问SQL Server数据库的几种常用的方法,分别说明了每种方法的内部机理并给出了每种方法的一个简单的实例,最后比较了每种方法性能和优缺点。 一、引言 SQL Server是微软推出的中小型网络数据库系统,是目前最常用的数据库系统之一。随着SQL Server网络数据库应用程序日益增多,这种Web数据库应用系统的正常运行一般依赖于已存在的用户数据库。创建维护数据库的工作可用SQL Server提供的SQL Enterprise Manager工具来进行,如能提供一种定制的数据库管理工具,通过管理应用程序来管理数据库及其设备,对用户来说无疑是最理想的。 Visual Basic作为一种面向对象的可视化编程工具,具有简单易学,灵活方便和易于扩充的特点。而且Microsoft为其提供了与SQL Server通信的API 函数集及工具集,因此它越来越多地用作大型公司数据和客户机—服务器应用程序的前端,与后端的Microsoft SQL Server相结合,VB能够提供一个高性能的客户机—服务器方案。 二、VB访问SQL Server数据的常用方法 使用Visual Basic作为前端开发语言,与SQL Server接口有几种常用的方法,即: ①数据访问对象/Jet ②为ODBC API编程 ③使用SQL Server的Visual Basic库(VBSQL)为DB库的API编程 ④RDO远程数据对象(RemoteData Objects) ⑤ADO数据对象(Active Data Objects) 1、数据访问对象/Jet VB支持Data Access Objects(DAOs)的子集。DAO的方法虽然不是性能最好的管理客户机—服务器之间的对话方式,但它的确有许多优点。DAO/Jet是为了实现从VB访问Access数据库而开发的程序接口对象。使用DAOs访问SQL Server 的过程如下:应用程序准备好语句并送至Jet,Jet引擎(MASJT200.DLL)优化查询,载入驱动程序管理器并与之通讯,驱动程序管理器(ODBC.DLL)通过调用驱动器(SQLSRVR.DLL)的函数,实现连接到数据源,翻译并向SQL Server提交SQL 语句且返回结果。下面是一个用DAOs访问SQL Server的VB实例。

vb连接access数据库常用的方法两种示例之欧阳歌谷创作

这里以链接access数据库为例。 欧阳歌谷(2021.02.01) 第一部分是通过语句链接,第二部分是通过控件链接 一、 通过语句链接数据库,然后把相应的数据赋值给某个文本框就行了。 1.首先定义几个全局变量 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim constr As String 2.给这些变量赋值,方便链接数据库 constr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=D:\EffectSolution\科学效应数据库.mdb" 红色部分写你自己的数据库路径。 3.打开数据库 cn.open constr 打开表 rs.open “select * from 效应表where id=5“,cn 取字符串并赋值给相应的文本 Text1.text=rs.fields(“效应和现象名称”) Text2.text=rs.fields(“文字解说”) 关闭表 rs.close 关闭数据库 cn.close 注意,最后两步骤一定要有,不然下次打开数据库的时候会提示出错的,这样的话,在窗口上建立两个文本框就够了。 但是,在此之前还有一步一定要做,

点"工程""引用"找到"Microsoft ActiveX Data Object 2.6 ",如图所示: 显示的结果如下图所示: 通过与效应表对比发现显示正确。 总体代码如下:

Private Sub Form_Load() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim constr As String constr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=D:\EffectSolution\科学效应数据库.mdb" '空格加短下划线表示续行 cn.open constr rs.open "select * from 效应表 where id =5", cn Text1.Text = rs.fields("效应和现象名称") Text2.Text = rs.fields("文字解说") rs.Close cn.Close End Sub 二、 通过ado控件链接数据库,然后通过datagrid控件显示数据库中的相关表。 过程示例: 1.添加部件ado控件和datagrid控件,如图所示: 这样工具栏里面会出现这样两个图标(最下面): 2.把这两个控件添加到你的form1里面,这个不用演示吧 3.右击你添加的adodc1控件,选最后一个

相关文档
最新文档