VB6.0操作Microsoft Access数据库
VB6中使用ADO
VB6.0使用ADO连接数据库一、ADO概述ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。
ADO 使您能够编写应用程序以通过 OLE. DB 提供者访问和操作数据库服务器中的数据。
ADO 最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。
ADO 在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。
之所以称为ADO,是用了一个比较熟悉的暗喻,OLE 自动化接口。
OLE DB是一组“组件对象模型”(COM) 接口,是新的数据库低层接口,它封装了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。
OLE DB是Microsoft UDA(Universal Data Access)策略的技术基础。
OLE DB 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。
也就是说,OLE DB 并不局限于 ISAM、Jet 甚至关系数据源,它能够处理任何类型的数据,而不考虑它们的格式和存储方法。
在实际应用中,这种多样性意味着可以访问驻留在 Excel 电子数据表、文本文件、电子邮件/目录服务甚至邮件服务器,诸如Microsoft Exchange 中的数据。
但是,OLE DB 应用程序编程接口的目的是为各种应用程序提供最佳的功能,它并不符合简单化的要求。
您需要的API 应该是一座连接应用程序和OLE DB 的桥梁,这就是ActiveX Data Objects (ADO)。
二、VB6.0实现方法本文将ADO封装为clsADO类模块(本文附件),具体定义如下:属性:(无)方法:Sub SetConnectionString(ByVal ConnectionString As String) 设置连接数据的连接字符串,亦可在OpenDB方法中指定。
(完整版)vb连接access数据库及数据读写操作
ACCESS数据库和VB的连接Edited by Ryan 20131、建立Access数据库2、启动VB,建立标准EXE图13、添加ActiveX控件鼠标指向任意VB控件,单击右键,选择“部件(O)”,出现图3所示界面图2图3选择部件“Microsoft ADO Data Control 6.0 (OLEDB)”,出现如图4所示控件图44、添加控件Adodc图54、在控件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 ‘打开数据库中的表test1For i = 1 To 1 ! For循环控制选择哪一行rs.MoveNextNext iMe.Text1.Text = rs.Fields(1).Value ‘读取指定行中的哪个数据给文本框rs.Update ‘数据显示rs.Close ‘关闭表End Sub。
vb6.0如何连接有密码的ACCESS数据库
vb6.0如何连接有密码的ACCESS数据库以前曾看过介绍如何在Visual Basic中连接和使用Access数据库的技术文章,实际上在专业的数据库软件开发中,为了确保数据库中信息的安全,往往要求对数据库文件进行加密,以防止非法用户通过其它的常规手段将其打开。
那么,在Visual Basic中如何建立与加密的数据库的连接呢?笔者在开发本校的宿舍管理信息系统中,总结了一些方法和技巧,现写出来与同行交流。
一、建立数据库因为在Visual Basic 6.0中有的数据库连接方式不支持Access 2000版本格式的数据库,为了便于说明问题,本文所提的数据库以Access 97版本数据库为例。
在Microsoft Access 97中建立一个数据库,如:ssgl.mdb,并设置密码,如:“1234”,再将数据库文件和VB中创建的工程文件放在同一目录下。
如果用户的计算机上只有Access 2000的话,可以先在Access 2000中建立ssgl.mdb数据库,并设置密码,再用Access 2000中的“数据库实用工具”将数据库转换成Access 97版本的格式。
当然也可以直接在Visual Basic 6.0集成开发环境中通过“可视化数据管理器”来创建数据库,再到Access 97中设置密码。
通过对数据库文件设置密码,一般情况下,非法用户就不能用常规的手段打开数据库了,对数据库中的信息起到了一定的安全和保密作用。
二、连接加密的Access数据库在Visual Basic 6.0中,要建立与数据库的连接,可采用的技术手段很多,如:数据控件、数据对象、数据环境设计器等。
开发人员可以根据自身的条件和用户的需求进行选择。
限于篇幅,下面只介绍加密的Access数据库与没有加密的Access数据库在连接时的不同之处。
关于没有加密的数据库的连接及访问的方法读者可以参阅其它资料。
1、使用控件① Data控件Data控件是Visual Basic 6.0中的一个内置数据控件,可以通过设置Data控件的connect、DatabaseName、RecordSource属性实现对数据库的连接和访问。
VB6.0
vb6.0中如何把EXCEL表格中的数据导入到access库中不知道VB和VBA有什么差别啊以下是我学习VBA的代码,看看吧Public Sub 将数据库记录数据全部导入到excel 工作表ADO之一() Dim myData As String, myTable As String, SQL As String Dim cnn As ADODB.Connection Dim rs As ADODB.Recordset Dim i As Integer '清除工作表的全部数据ActiveSheet.Cells.Clear myData = ThisWorkbook.Path & "\学生成绩管理.mdb" '指定数据库myTable = "期末成绩" '指定数据表'建立与数据库的连接Set cnn = New ADODB.Connection With cnn .Provider = "microsoft.jet.oledb.4.0" .Open myData End With '查询数据表SQL = "select * from " & myTable & " order by 性别" Set rs = New ADODB.Recordset rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic '显示查询结果MsgBox "数据库中的记录数为:" & rs.RecordCount '复制记录数据If rs.RecordCount > 0 Then '复制字段名For i = 1 To rs.Fields.Count Cells(1, i) = rs.Fields(i - 1).Name Next i '设置字段名字体为加粗并居中对齐With Range(Cells(1, 1), Cells(1, rs.Fields.Count)) .Font.Bold = True .HorizontalAlignment = xlCenter End With '复制全部数据Range("A2").CopyFromRecordset rs '设置工作表格式ActiveSheet.Cells.Font.Size = 10 ActiveSheet.Columns.AutoFit End If '关闭记录集及数据库连接,并释放变量rs.Close cnn.Close Set rs = Nothing Set cnn = Nothing '·recordset对象的copyfromrecordset方法: '用于将一个ADO或DAO的recordset对象的内容复制到工作表中,复制的起始位置在指定区域的左上角。
vb ADO控件连接ACCESS数据库做登录密码的例子
'准备好ACCESS数据库,建一个Uesr_id表,表中建两个字段就可以了。
'在[工程]菜单下选择[部件];在弹出的窗口内勾选[Microsoft ADO Data Control 6.0]然后确定。
'在工具栏中双击Adodc控件,Adodc控件添加到form内,在form内右单击Adodc1选择属性ADODC属性,'在弹出的窗口中单击[生成],在弹出的窗口中选择Microsoft Jet 4.0 OLE DB Provider,'单击下一步,在弹出的窗口中单击[...]选择Access数据库所在的路径,单击[确定],然后在属性页'上单击[记录源],命令类型选择[2-adCmdTable];表或存储过程名称选择[User_id],单击[确定],'设置Adodc1的Visible属性为False,ADO控件已经设置好了。
'向form内添加两个TextBox分别为text1和text2分别把它们的text属性值设置为空,把text2的'PasswordChar值设置为*,再向form内添加一个按钮CommandButton,默认为Command1;'现在所有控件都准备好了,下面编程解决登录问题。
Private Sub Command1_Click()Dim U As Boolean, P As Boolean, Ok As BooleanWith Adodc1.RefreshDo While Not .Recordset.EOFU = .Recordset.Fields(0).Value = Text1.Text '字段0为用户名称P = .Recordset.Fields(1).Value = Text2.Text '字段1为用户密码If U And P ThenOk = TrueExit DoElse.Recordset.MoveNextEnd IfLoopEnd WithIf Ok ThenMsgBox "登录成功"ElseMsgBox "登录失败"End IfVB利用ADO控件连接access数据库今天告诉大家VB利用ADO控件连接access数据库的两种方法:一种是在adodc1的属性里设置数据库文件的路径,这种方法的优点是简单易操作,缺点是,当源文件换了地方后,要重新设置数据库的路径,否则连接不上数据库了。
Visual Basic开发access数据库基本步骤与例程
利用vb开发数据库应用程序的基本步骤第一节数据库系统的增删改1.新建工程选择文件 |新建工程一个窗体有很多属性,我们常用的属性有Caption和Name例如在caption中输入学生基本信息录入,在Name中输入student_fr_in2.保存工程(1)保存窗体(2)保存工程对于文件命名应该是见名思意3. 使用ADO数据控件在使用ADO数据控件前,必须先通过“工程/部件”菜单命令选择“Microsoft ADO Data Control6.0(OLE DB)”选项,将ADO数据控件添加到工具箱。
ADO数据控件与Visual Basic 的内部数据控件很相似,它允许使用ADO数据控件的基本属性快速地创建与数据库的连接。
在部件属性对话框中选择Microsoft ADO Data Control 6.0 同时再选上Microsoft DataGrid A Control 6.0 。
在工具箱中多了两个控件,同时我们将Adodc控件拉倒窗体上,该控件是用与和数据库连接的。
选种Adodc1,按右键选“ADODC属性”进入属性页,这时可以建立和数据库,我们有三种选择:使用Data Link File,ODBS 和使用连接字符串。
一般使用连接字符串。
现在我们手工建立它,点击生成按钮—弹出数据连接属性对话框。
提供程序允许你指定连接的数据库,——这里选择Microsoft Jet 4.0 OLE DB Provider。
(连接Access数据库)点击(下一个)按钮将引导我们进入第二页:连接点击选择需要连接的数据库,点击打开按钮注意:我们看到所选的数据库有路径,如果数据库文件在当前的工程下,可以去掉路径可以点击测试连接按钮检验是否可以成功连接—应该是成功的。
最后,点击确定关闭数据连接属性对话框。
连接字符串已如下所示:“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Student.mdb;P ersist Security Info=False”在Adodc1属性页点击“记录源页”在命令源下拉列表中可以选择“表”、“文本”,“存储过程”等假如选择表,可以看到4.选择student表5. 添加DataGrid控件,设置DataSource属性为Adodc16. 运行工程。
vb连接access数据库及数据读写操作
ACCESS数据库和VB的连接Edited by Ryan 20131、建立Access数据库2、启动VB,建立标准EXE图13、添加ActiveX控件鼠标指向任意VB控件,单击右键,选择“部件(O)”,出现图3所示界面图2图3选择部件“Microsoft ADO Data Control 6.0 (OLEDB)”,出现如图4所示控件图44、添加控件Adodc图54、在控件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 ‘打开数据库中的表test1For i = 1 To 1 ! For循环控制选择哪一行rs.MoveNextNext iMe.Text1.Text = rs.Fields(1).Value ‘读取指定行中的哪个数据给文本框rs.Update ‘数据显示rs.Close ‘关闭表End Sub。
Visual Basic 6.0访问不同数据库的几种方式
Visual Basic 6.0访问不同数据库的几种方式摘要:Visual Basic作为一种易学易用的程序语言,在开发的过程中拥有图形界面和快速应用程序开发系统,它提供了简单灵活的数据库访问方式。
介绍了几种对不同数据库的访问方法,实现了Visual Basic 与Access、SQL Server和Oracle的连接,既体现了Visual Basic的特点,同时也满足了程序开发人员的需要。
关键词:Visual Basic;数据库;连接;访问0 引言Visual Basic作为一种面向对象的编程语言,为编程者提供了友好简单的界面,这种语言是世界上使用人数最多的语言。
它源自于BASIC编程语言,对初学者而言学习起来简单易学、易会,对于程序开发人员来说使用起来界面简洁、使用方便。
但是开发应用程序单纯靠一种语言是不够的,结合数据库的应用才能使应用程序的功能更加强大、应用范围更广。
Visual Basic拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易地使用DAO、RDO、ADO 连接数据库,或者轻松地创建ActiveX 控件。
程序员可以轻松使用Visual Basic提供的组件快速建立一个应用程序。
随着信息技术的发展,特别是网络信息交流的需要,要求有快捷的信息查询技术。
借助于VB可以轻松地开发出功能强、速度快、应用广并占用资源少的数据库应用程序,它们提供了简单、灵活、访问速度快、可扩展性好的开发技术。
下面分别介绍用Visual Basic6.0连接几种不同的数据库的方法。
1 用Visual Basic6.0中的ADO访问Access 2003的数据库的流程为了方便讨论,在C:My Documents下建立教学管理数据库jxgl.mdb,分别有xsb(学生表)、jsb(教师表)、kcb(课程表)等数据表,其中jsb包含字段有:gh(工号)、xm(姓名)、xb(性别)、ximing(系名)、gl(工龄)、jbgz(基本工资)等。
VBA中的连接与操作Access数据库
VBA中的连接与操作Access数据库随着计算机技术的不断发展和应用范围的不断扩大,数据库管理成为各个领域中必不可少的一项技能。
Microsoft Access作为一种常用的关系数据库管理系统(RDBMS),提供了许多功能强大的工具和功能,用于存储、处理和管理大量的数据。
在VBA(Visual Basic for Applications)编程中,连接和操作Access数据库是一项基本技能,本文将为您介绍如何在VBA中进行这些操作。
1. 连接Access数据库在VBA中连接Access数据库,需要使用ADODB (ActiveX Data Objects)对象库。
ADODB是Microsoft提供的用于连接和操作多种数据库的组件,并提供了一套一致的API(Application Programming Interface)接口。
首先,我们需要在VBA的代码中添加对ADODB的引用。
在VBA编辑器中,选择“工具”菜单,然后选择“引用”选项。
在弹出的对话框中,找到“Microsoft ActiveX Data Objects x.x Library”(其中x.x表示版本号),选中并点击“确定”按钮。
接下来,我们需要声明和创建ADODB的相关对象,以连接到Access数据库。
以下是一个连接到Access数据库的示例代码:```Dim conn As ADODB.ConnectionSet conn = New ADODB.Connectionconn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\database.accdb;"```在上述代码中,我们首先声明了一个名为conn的ADODB.Connection对象,并使用New关键字创建了一个新的连接。
conn.Open语句用于打开数据库连接,其中Provider参数指定了使用的数据提供程序(这里使用的是Microsoft Access引擎),Data Source参数指定了Access 数据库文件的路径和文件名。
VB6.0解决access2007压缩与修复的方法
方法 1:
使用 DAO 物件 ( Data Access Object )
設定引用項目 Microsoft DAO x.x Object Library
目前 DAO 物件有 3.51 版的 Microsoft DAO 3.5 Object Library ( For Access 97 以前的 MDB )
dbDecrypt : Decrypt the database while compacting
PS : Jet ( Joint Engine Technology )
Sample :
pactDatabase "C:\Src.mdb", "C:\Dst.mdb", _
dbVersion11 : M$ Jet db engine ver 1.1 file format while compacting.
dbVersion20 : M$ Jet db engine ver 2.0 file format while compacting.
指示是否試著尋找其它抄本來修復受損複寫式資料庫。(Boolean.)
Sample:
Dim jro As New jro.JetEngine
pactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= 來源MDB", _
或
Dim objAcc As Object
Set objAcc = CreateObject("Access.Application")
之後
Call pactRepair("c:\要压缩的.accdb", "C:\压缩后的.accdb", False) '如果有密码的话会弹出密码对话框。不合适。
VB6-加密ACCESS2003
彻底解决VB6~VB2005中连接ACCESS数据库(带密码)在Visual Basic中连接和使用Access数据库中,为了确保数据库中信息的安全,往往要求对数据库文件进行加密,以防止非法用户通过其它的常规手段(如使用ACCESS将数据库文件打开、修改)将其打开。
那么,在Visual Basic中如何建立与加密的数据库的连接呢?介绍如下(以下部分内容摘自网络)。
一、建立数据库因为在Visual Basic 6.0中有的数据库连接方式不支持Access 2000版本格式的数据库,为了便于说明问题,本文所提的数据库以Access 97版本数据库为例。
在Microsoft Access 97中建立一个数据库,如:ssgl.mdb,并设置密码,如:“1234”,再将数据库文件和VB中创建的工程文件放在同一目录下。
如果用户的计算机上只有Access 2000的话,可以先在Access 2000中建立ssgl.mdb数据库,并设置密码,再用Access 2000中的“数据库实用工具”将数据库转换成Access 97版本的格式。
当然也可以直接在Visual Basic 6.0集成开发环境中通过“可视化数据管理器”来创建数据库,再到Access 97中设置密码。
通过对数据库文件设置密码,一般情况下,非法用户就不能用常规的手段打开数据库了,对数据库中的信息起到了一定的安全和保密作用。
二、连接加密的Access数据库在Visual Basic 6.0中,要建立与数据库的连接,可采用的技术手段很多,如:数据控件、数据对象、数据环境设计器等。
开发人员可以根据自身的条件和用户的需求进行选择。
限于篇幅,下面只介绍加密的Access数据库与没有加密的Access数据库在连接时的不同之处。
关于没有加密的数据库的连接及访问的方法读者可以参阅其它资料。
1、使用控件① Data控件Data控件是Visual Basic 6.0中的一个内置数据控件,可以通过设置Data 控件的connect、DatabaseName、RecordSource属性实现对数据库的连接和访问。
VB连接Access数据库
首先有一点要注意,数据库的使用与我们以往所使用的文本文件不同.例如我们使用文本文件,来记录各种有用的数据.那么大致有以下几步:读取文件-- 格式化数据-- 关闭文件-- 使用数据如果数据量较大,需要进行筛选,且存放数据的源文件可能不定时变更,那么我们可以用一个临时文件来存放有用的数据,这样可大大提高程序的效率.要[格式化数据]时,我们首先要进行筛选,然后还得进行分类,这样文件中的字符串才能被转换成有用的信息来供程序使用.这样一来,不用说,处理速度将大大减慢,而且就算你设计的数据格式比较科学,当数据量非常大时,文件的容量也会变的让普通计算机无法承受.相对文本文件来说数据库的使用也大致分为以下几步:打开数据库-- 查找数据-- 使用数据-- 关闭数据库从中可以看出,里面少了一步格式化数据,因为数据库本身在存储数据时,它就是按照一定的格式来进行存储的.其次是,数据库与文本文件返回数据的方法不同.如果把文本文件比作一个Textbox 的话,那么数据库更像是一个ListBox.使用文本文件时我们需要从整个Textbox中取出有用的信息,并进行处理,而Listbox则可以根据需要返回特定的某一项.由于VB本身并不带有可以访问数据库的类,所以我们需要引用一个包含能访问数据库的类来使用数据库.这里我们采用ADODB,相比DAO和能访问数据库的API来说,它比DAO更灵活,更强大;而比起API,它更简单易用,更适合初学者.而Access数据库比起SQL,也相对简单了很多,且能够满足中小型应用程序的需要,所以我们在使用数据库时,选择了Access.就像使用文本文件来存储数据一样,我们需要先设计好数据结构,只不过在设计Access数据库的结构时,我们需要用到其它的程序来进行详细的规划.建议采用的程序是office中的Access或V B自带的VISDATA.当数据库设计好了以后,我们可以开始"数据库编程"了.首先,我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Da ta Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX 控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access 的同时,也能识别较新版本的Access.然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Records et.创建这两个对象的具体方法是:1.在引用后,使用New关键字,如Private Conn As New ADODB.ConnectionPrivate Reco As New ADODB.Recordset2.在没引用时,用CreateObject创建对象:Dim Conn,RecoSet Conn = CreateObject("ADODB.Connection")Set Reco = CreateObject("ADODB.Recordset")创建了对象之后,下一步我们要做的就是打开数据库了.先看下面的代码,可以成功的打开数据库.Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Main.mdb"这句代码打开了D盘中的Main.mdb这个数据库.Connection.Open方法的第一个参数是连接代码,它将传递给系统的数据库引擎.前半部分"Provider= Microsoft.Jet.OLEDB.4.0",它表示了数据库的类型.不同的数据库可能会不同.后半句"Source=d:\main.mdb"它表示了数据库所在的绝对路径.打开数据库之后,还要打开表.假如数据库中有一个表,表名为"Users",字段有两个,一个为用户名,一个为密码.那么看以下代码.1.想返回"Users"中,[用户名]为"去年烟花"的[密码]Recordset.open "Select 密码From Users Where 用户名='去年烟花'",Connection,1, 1之后我们就可以把用户输入的密码进行比较,看是否允许登录.If Recordset.eof and Recordset.bof thenMsgbox "用户不存在!",16ElseIf PassWord =Recordset("密码").value thenmsgbox "登录成功!",64Elsemsgbox "密码错误!",32End IfEnd IfRecordset.Close2.假设Admin已经成功登录系统,我们想把所有的用户名和密码都显示出来Recordset.open "Select * From Users",Connection,1,1这时,表已经被打开,我们就用以下代码把它显示出来.Do whlie Not Recordset.eofPrint "用户名: " & Recordset("用户名").value & "密码: " & Recordset("密码").valueRecordset.MoveNextLoopRecordset.Close由以上代码示例可以看出,打开表时,可以只打开其中的一个字段,也可以打开所有.第一个参数是SQL语句.Select [字段名] From 表名[Where 条件]这里的条件可以省略.且字段名也可以用"*"来代替所有字段.需要注意的是,如果你用(1)中的方法打开,那么(2)后面显示的代码就不能再用在(1)中.因为(1)里并没有打开[用户名]字段,所以这一句Recordset("密码")就没有值存在,还有可能出错.后面的条件,可以用"="、">"、"<"等运算符.比如"Where ID > 32".(这里假设[ID]为数字型.)这是打开的部分.第二个很重要的部分就是查询记录.数据库它并不是把所有记录全部放到一个变量中备用的.而是以"当前记录"的形式来返回一个值.所以我们想从中找到有用的信息,就必须要对信息进行定位/筛选.定位:移动到下一条Recordset.MoveNext移动到上一条Recordset.MovePrevious移动到最后一条Recordset.MoveLast移动到第一条Recordset.MoveFrist移动到某一条Recordset.Move Number筛选:Recordset.Find "条件"如:[用方法(2)打开表之后]Private Sub Command1_Click()Recordset.Find "用户名=" & "text1.text"If Recordset.Eof <> True ThenMsgbox "该用户的密码是:" & Recordset("密码").value,64ElseMsgbox "未找到该用户的资料!",16End IfEnd SubMoveNext 只有当Eof不为True时,才可用,否则发生错误.而MovePrevious刚是Bof不为T rue时....而只要Eof 和Bof中有一个不为真时,也就是说只要有一条记录时,它就可以使用.Find 方法中的条件和Open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,Eof为True.找到则当前的值就是符合条件的记录.第三个部分就是添加/修改记录.修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了.比如:[(修改密码)按方法(1)打开表之后]Recordset("密码").value = "123456"Recordset.Updata需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效.而添加记录则可以用以下代码来实现:Recordset.addnewRecordset("用户名").value = "Admin"Recordset("密码").value = "Admin"Recordset.Updata这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法.到这里就差不多了,最后说一下上面提到的几个方法.Recordset.Open SQL语句,数据源,游标类型,打开方法SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据数据源就是一个打开之后的Connection对象.去他妈的游标类型,填1就可以了[偷笑ing]打开方法对应了几个常数,具体哪几个可以从对象浏览器里看.对应数值的意义:1 只读2 独占3 可写4 自已可写,别人可读Connection.open 连接代码,服务器用户名,密码这里的连接代码就不在多说了,服务器用户名,密码只有在连接远程数据库时才用到.VB如何连接access数据库2009年07月25日星期六下午 07:07VB如何连接access数据库?最近在学习VB,正在研究当中!今天告诉大家VB连接数据库的方法,我知道的有两种:一种是在 adodc1的属性里设置数据库文件的路径,这种方法的优点是简单易操作,缺点是,当源文件换了地方后,要重新设置数据库的路径,否则连接不上数据库了。
vb使用dao操作access
vb使用dao操作accessDAO(Data Access Object)全称为数据访问对象,它是数据库编程的重要方法之一。
DAO的一种面向对象的界面接口,特色为它不是可视化的对象,使用它全部都要靠编码来完成,DAO是设计关系型数据库系统结构的对象类的集合。
它提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。
由于ADO(ActiveX Data Object ActiveX 数据对象)的出现,DAO的使用已大大减少,但它无须使用ODBC(开放数据库连接)便可连接各个数据源,因而我们仍经常用经典的DAO。
下面我向大家详细介绍如何使用DAO编程。
DAO使用之前必须先引用。
方法为打开VB6.0 , 从VB 的"工程"菜单中,选择"引用"项,当"引用"对话框出现后,从库的列表中,选择"Microsoft DAO 3.51 Object Library",单击"确定"。
现在便可以使用DAO对象库提供的所有对象进行编程了。
一、创建数据库:在DAO中用CreatDataBase方法可以根据用户需求动态的创建数据库。
这一点在程序中是非常有用的。
用户可以根据要求实时建立数据库。
建立过程如下:Private Sub Com_creat_Click()On Error GoTo Err100CreatDataBase "数据库名称.mdb" ,dbLangGeneralMsgbox "数据库建立完毕"Exit SubErr100:MsgBox "不能建立数据库! " amp; vbCrLf amp; vbCrLf amp; Err.Description, vbInformationEnd Sub这样,数据库便在当前默认的路径下建立了。
VB中用ADODC控件连接ACCESS数据库
数据库一般使用adCmdTable.表选择要连接的表。
设置完毕后就可以了.如果我们想把内容提交到数据库.举个例子..在窗体建立一个文本框,设置属性中的DataSource为adodc1DataField为要连接的数据库的字段名。
如果数据库中有字段,会让你选择。
设置好后在窗体加一个添加记录和一个提交的按钮,设置代码:Private Sub Command1_Click()Adodc1.Recordset.Update'保存Adodc1.Refresh'刷新End Sub添加按钮代码:Private Sub Command2_Click()Adodc1.Recordset.AddNew'添加新纪录Adodc1.Recordset("姓名").Value=Text1.TextEnd Sub第二种方法:在窗体添加Adodc控件一个text控件一个添加记录按钮一个提交按钮在窗体设置代码:Private Sub Form_Load()Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+App.Path +"\db1.mdb;Persist Security Info=False"'设置数据库路径mandType=adCmdText'设置记录源Adodc1.RecordSource="select*from message"'连接数据库的message表文件Set Text1.DataSource=Adodc1text1.DataField="姓名"End Sub添加记录按钮代码:Private Sub Command1_Click()Adodc1.Recordset.AddNew'添加新纪录End Sub提交代码:Private Sub Command2_Click()Adodc1.Recordset.Update'保存Adodc1.Refresh'刷新End Sub好了连接方法讲完了,我都在机子上测试过了,因该没有什么问题的。
VB6.0+Access制作登陆界面超详细讲解(适合新手)
VB6.0+Access制作登陆界⾯超详细讲解(适合新⼿)VB6.0 + Access制作登陆界⾯&超详细讲解&(适合新⼿)前段时间,我也为⽤VB 6.0制作登陆界⾯⽽痛苦,为此,我没少上百度,没少查资料,终于,现在⼤功告成了,现在我也来分享⼀下我的个⼈经验!(在说步骤之前,我要着重强调,要完成本实例,⾸先得进⾏的步骤是“⼯程”——>“引⽤”——> Microsoft ActiveX Data Objects 2.X Library ,即ADO(建议⽤2.6往上))步骤⼀:建⽴数据库要想⽤Access中存放的帐号数据来登陆,肯定要先有存放帐号密码的数据库吧,这⾥假设我们⽤到的数据库为 Test ,其中有⼀张表,叫做 test_info ,表中有两个字段,分别是userID 和 password ,分别存放登陆帐号和密码。
步骤⼆:新建窗体①在VB中,本就有现成的登陆窗体,我们可以直接选择,当然,也可以创建⼀个空⽩的窗体,我们⾃⼰添加内容(即“控件”),然后Caption 属性设置为“登陆”或者“login”,当然,也可以⾃⼰随意添加,主要⽤来让窗⼝显⽰我们希望的标题。
②建⽴登陆界⾯,肯定是想登陆成功后进⼊另⼀个界⾯,因此,我们需要再添加⼀个窗体,⽤来验证登陆是否成功,在这⾥,我们将这个窗体的Name(名称) 属性设为默认的 Form2步骤三:设置窗体⾸先向新建的窗体分别添加两个 Label 控件、两个 TextBox 控件和两个CommandButton,各控件属性如下表:如果想让按下回车就默认选择“确定”按钮,只需将 Command1 的Default 属性更改为 True 即可,设置好后的窗体如下图步骤四:填写代码(最重要的⼀步)说到代码,我想就是⼤家最关切的问题了,那我就具体来说说这个代码吧,⾸先双击窗体,打开代码编辑界⾯,输⼊如下代码:Private Sub Form_Load() ‘此段代码的主要作⽤是当窗体打开时就连接数据库Dim conn As New ADODB.ConnectionDim connectionstring As StringConnectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "E:\Test.mdb;Persist Security Info=False" ‘将Data Source 处的路径改为你本机数据库所在路径即可conn.Open connectionstringEnd Sub接着双击“确定”,同样的,输⼊如下代码:Private Sub Command1_Click()Dim sql As StringDim conn As New ADODB.ConnectionDim rs_login As New ADODB.RecordsetIf Trim(Text1.Text) = "" Then ‘检测⽤户名正确与否MsgBox "⽤户名不能为空,请重新输⼊!", vbOkOnly + vbExclamation, "错误"Text1.SetFocusElsesql = "select * from Test where test_info = '" & Text1.Text & "'" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True ThenMsgBox "⽤户名不存在,请重新输⼊!",vbOkOnly + vbExclamation , "错误"Text1 = ""Text1.SetFocusElse ‘检测密码正确与否If Trim(rs_login.Fields(1)) = Trim(Text2) Thenrs_login.CloseUnload MeForm2.ShowElseMsgBox "密码错误,请重新输⼊!", vbOKOnly + vbExclamation, "错误"Text2.SetFocusEnd IfEnd IfEnd IfEnd Sub最后双击“取消”按钮,输⼊如下代码:Private Sub Command2_Click()MsgBox "您已成功退出!", vbOkOnly + vbExclamation, "提⽰"Unload MeEnd Sub如果想加⼊三次输⼊错误就退出的功能,这个倒⽹上找个⼩代码加⼊Command_Click()就⾏了,思路是定义⼀个变量,赋初值为 0 ,错误⼀次,这个变量增加 1 ,如果这个变量等于 3 了,就 Unload Me。
VB6+Access编程中的数据库操作方法
附件2:VB6+Access编程中的数据库操作方法例1:首先,在工程里引用microsoft activex data objects 2.7 libraryDim cn As New ADODB.Connection, rs1 As New ADODB.Recordset, sql As String '在通用声明里定义,其中cn是连接对象,rs1是记录集,sql是查询语句cn.Open "provider=microsoft.jet.oledb.4.0;data source=" + App.Path + "\数据库名.mdb" + ""sql = "select * from 表名"rs1.Open sql, cnrs1.MoveFirstDo While Not rs1.EOFCombo1.AddItem rs1("字段名")rs1.MoveNextLooprs1.Close例2:一个用户登录系统'准备工作: 数据库D:\Mydb.mdb 数据库中,建数据表:UserInfo,数据表中,建字段:User,Password,并添加一条记录'点工程->引用选中Microsoft Activex Data Objects 2.7 Library'控件:添加一个文本框,一个命令按钮Private Sub Command1_Click()Dim s As StringDim Conn As New ADODB.ConnectionDim Rs As New ADODB.RecordsetConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\mydb.mdb"'请将数据库名及路径换成你的实际数据库名及路径Dim UserName As StringDim Password As Strings = Text1.TextIf s = "1" Or s = "2" ThenUserName = InputBox("请输入用户名")Password = InputBox("请输入用户密码")sql = "Select * From [UserInfo] where User='" & UserName & "'"'UserInfo请换成你的实际数据表名Rs.Open sql, Conn, 1, 3If Rs.EOF ThenMsgBox "没有找到此用户"ElseIf Rs("Password") = Password ThenIf s ="1" ThenMsgBox "123"ElseIf s = "2" ThenMsgBox "456"End IfElseMsgBox "密码错误"End IfEnd IfEnd IfEnd Sub上面的例子实现了查询如果是要添加,删除,更新等操作,只要编写相应的SQL语句,再用Conn.Execute SQL 就可以了,如:添加的:SQL="Insert Into [UserInfo](User,Password) Values('aaaa','1234')"Conn.Execute SQL '执行后,就添加了一条记录删除:SQL="Delete From [UserInfo] Where User='aaaa'"Conn.Execute SQL '删除用户名为aaaa的用户记录更新:SQL="Update [UserInfo] Set Password='abcdefg' Where User='aaaa'"Conn.Execute SQL '执行后,修改用户aaaa的密码为abcdefg以上只是示例,在实际使用过程中,可以将一些内容用控件输入等方式进行,这样就有很大的灵活性了例3:Private Sub Form_Load()Dim cnn As ADODB.ConnectionDim my_recordset As ADODB.RecordsetDim connect_string As StringDim statestring As StringSet cnn=New ADODB.ConnectionSet my_recordset=New ADODB.Recordset'连接Access数据库connect_string="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\aaa.mdb;Pe rsist Security Info=False"cnn.Open connect_stringSelect Case cnn.StateCase adStateClosestatestring="adStateClosed"Case adStateOpenstatestring="adStateOpen"End Select'显示连接的状态MsgBox "连接成功!",,statestring'对wzdz表进行查询操作my_recordset.Open "Select * from wzdz",cnnmy_recordset.CloseEnd Sub例4:Dim strConn As String '连接字符串Dim strSql As String 'SQL命令Dim conn As ADODB.Connection '数据源Dim Ado As ADODB.Recordset '记录集strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\aaa.mdb;Persist Se curity Info=False"strSql = "SELECT * FROM bbb"Set conn = New ADODB.Connectionconn.ConnectionString = strConnconn.Open。
在VB中访问ACCESS数据库方法
在VB中访问ACCESS数据库的方法visual basic具有面向对象、软件的集成式开发、事件驱动、结构化的程序设计语言、数据库访问功能、网络功能、支持对象的链接与嵌入技术、支持动态交换、多个应用程序向导等特点。
以可视化的窗口为主的应用广泛的编程软件。
一、visual basic课程开设的意义对于中职的计算机专业的学生到第五学期面临综合实践的完成。
我们利用了vb的面向对象的程序设计思想,是将复杂的程序设计问题分解为多外具有独立功能并相对简单的对象集合等特点开设了这门课程以帮忙学生完成毕业设计。
二、开发实例中的难点及问题软件开发中程序员可根据程序和界面设计要求,直接在先设计出窗口、菜单、按钮等不同类型的对象,并为每个对象设置好具体的属性。
事件的触发是由用户通过方法来完成的操作,也可以由系统或应用程序触发。
所以学生在每章每节的课堂点点滴滴的教学中掌握并理解了具体的控件。
三、行之有效的连接方法开发数据库管理系统就是要对数据库进行操作时,一是要使用户可以在窗口界面上对需要的数据进行访问;二是对数据库中的数据进行各种操作,最后的结果还要反馈给用户。
这里我们采用adodb,相比dao和能访问数据库的api来说,它比dao更灵活,更强大;而比起api,它更简单易用,更适合初学者。
而access数据库比起sql也相对简单了很多,且能够满足中小型应用程序的需要,所以我们在使用数据库时,选择了access。
下面我就自己的一点教学经验谈谈在vb中连接access数据库的两种有效的方法:第一种方法:首先我们从控件箱中托入一个adodc1控件到窗口中,adodc1控件名称为date1,然后在 date1控件的属性里设置数据库文件的路径。
设置date1控件的属用以连接数据库,在date控件上右键——adodc属性——使用连接字符串——成——microsoft jet 4.0 ole db provider——下一步——选择或输入数据库名称——找到要连接的数据库后,确定。
VB对Microsoft Access数据库的运用代码
VB对Microsoft Access数据库的调用管理.用VB6.0计算机编程语言,和Microsoft Access的数据库建立连接。
以便对VB窗口控键,通过VB编程代码对Access数据库进行读取,存储,修改,编辑,管理和计算。
(基本功能如下图)编辑窗体界面及所需参数设计:VB窗体界面编辑及所需参数设计是下面相应控件属性及编程的基础和前提,.通过VB软件的工程下拉菜单的引用命令实现VB和Microsoft Access的数据库建立连接,以便进一步通过VB界面来对数据库的进一步操作。
具体对数据库的一般操作:首记录;上记录;下记录,末记录及搜索,修改,保存,新增记录等功能的详细VB代码如下:Public mydb As DatabasePublic myrs As RecordsetDim step1 As IntegerPrivate Sub Timer1_Timer()Call mymoveEnd SubPublic Sub mymove()Label17.Move Label17.Left + 50 * step1If Label17.Left + 1 * Label17.Width > Form1.Width Then step1 = -1ElseIf Label17.Left < 0 Thenstep1 = 1End IfEnd SubPrivate Sub Command10_Click()Form1.ShowForm2.HideForm3.HideEnd SubPrivate Sub Command11_Click()Form3.ShowForm2.HideForm1.HideEnd SubPrivate Sub Form_Load()Dim i As SingleSet mydb = OpenDatabase(App.Path + "\合同数据库.mdb")Set myrs = mydb.OpenRecordset("合同数据库", dbOpenDynaset)Command9.Enabled = False step1 = -1Timer1.Interval = 100Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Text11.Text = ""Text12.Text = ""Text13.Text = ""Text14.Text = ""End SubPrivate Sub Command1_Click() '首记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = FalseCommand12.Enabled = TrueCommand13.Enabled = TrueCommand2.Enabled = FalseCommand4.Enabled = TrueCommand1.Enabled = FalseCommand3.Enabled = Truemyrs.MoveFirstCall shuchuEnd SubPrivate Sub Command2_Click() '上记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = FalseCommand12.Enabled = TrueCommand13.Enabled = TrueCommand3.Enabled = TrueCommand4.Enabled = Truemyrs.MovePreviousIf myrs.BOF Thenmyrs.MoveFirstCommand2.Enabled = FalseCommand1.Enabled = FalseElse' myrs.MovePreviousEnd IfCall shuchu' List1.AddItem myrs.Fields(1)End SubPrivate Sub Command3_Click() '下记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = False Command12.Enabled = True Command13.Enabled = TrueCommand1.Enabled = TrueCommand2.Enabled = TrueIf myrs.EOF Thenmyrs.MoveLastCommand3.Enabled = FalseCommand4.Enabled = False End Ifmyrs.MoveNextIf myrs.EOF Thenmyrs.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseEnd IfCall shuchuEnd SubPrivate Sub Command4_Click() '末记录Dim nm As StringDim nm1 As StringDim nm2 As StringCommand9.Enabled = FalseCommand12.Enabled = TrueCommand13.Enabled = Truemyrs.MoveLastCommand1.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = False'Command4.Enabled = FalseCall shuchuEnd SubPrivate Sub Command6_Click() '快速查询Dim findph As StringDim nm As StringDim nm1 As StringDim nm2 As StringCommand4.Enabled = Falsefindph = InputBox("请输入合同号=", "按合同号搜索")If findph <> "" Thenfindph = "合同号='" & findph & "'"'findph = "IP地址='" & findph & "'"myrs.FindFirst (findph)If myrs.NoMatch ThenMsgBox "没有相应合同号的资料记录", vbInformation, "信息"ElseCall shuchuEnd IfEnd IfEnd SubPrivate Sub Command13_Click() '新增记录Command9.Enabled = TrueText1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Text11.Text = ""Text12.Text = ""Text13.Text = ""'List1.ClearCommand12.Enabled = Falsemyrs.AddNewText1.SetFocusMsgBox "现在你可以填写数据了,填写完毕后确定请按保存按钮", vbInformation, "系统提示"End SubPrivate Sub Command12_Click() '编辑myrs.EditText1.SetFocusMsgBox "现在你可以修改数据了,修改完后确定请按保存按钮", vbInformation, "系统提示"Command9.Enabled = TrueEnd SubPrivate Sub Command8_Click() '重新输入Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Text11.Text = ""Text12.Text = ""Text13.Text = ""Text14.Text = ""' List1.ClearEnd SubPrivate Sub Command9_Click() '保存myrs.Fields("合同号") = Text1.Textmyrs.Fields("ID号") = Text2.Textmyrs.Fields("产品类型") = Text3.Textmyrs.Fields("产品代号") = Text10.Textmyrs.Fields("定货数") = Text4.Textmyrs.Fields("单价") = Text5.Textmyrs.Fields("收到合同日期") = Text6.Textmyrs.Fields("交货日期") = Text7.Textmyrs.Fields("图纸投入生产日期") = Text9.Textmyrs.Fields("完成人员") = Text8.Textmyrs.Fields("备注") = Text11.Textmyrs.Fields("Order NO") = Text12.Textmyrs.Fields("产品净重") = Text13.Textmyrs.Fields("客户代码") = Text14.TextMsgBox "合同资料记录保存成功", vbInformation, "信息"myrs.UpdateCommand12.Enabled = True'Command4.Enabled = TrueCommand9.Enabled = FalseEnd SubPrivate Sub Command5_Click() myrs.Closemydb.CloseEndEnd SubPublic Sub shuchu() ' 输出子程序Dim xx As StringDim yy As StringDim kk As StringDim ph As SingleText1.Text = myrs.Fields(0)Text2.Text = myrs.Fields(1)Text3.Text = myrs.Fields(2)Text4.Text = myrs.Fields(4)Text5.Text = myrs.Fields(5)Text6.Text = myrs.Fields(6)Text7.Text = myrs.Fields(7)Text8.Text = myrs.Fields(9)Text9.Text = myrs.Fields(8)Text10.Text = myrs.Fields(3)Text11.Text = myrs.Fields(10)Text12.Text = myrs.Fields(11)Text13.Text = myrs.Fields(12)Text14.Text = myrs.Fields(13) End Sub。