首页 [vb连接数据库]vb中运用dao方法连接数据库

[vb连接数据库]vb中运用dao方法连接数据库

举报
开通vip

[vb连接数据库]vb中运用dao方法连接数据库[vb连接数据库]vb中运用dao方法连接数据库 [vb连接数据库]vb中运用dao方法连接数 据库 篇一 : vb中运用dao方法连接数据库 vb中运用dao方法连接数据库2008年05月28日 星期三 下午 09:04你只需要使用 连接数据库的方法就好了。 Set dbase=OpenDatabase Set rs=dbase.OpenRecordset End Sub 具体操作看后面的介绍~ DAO全称为数据访问对象,它是数据库编程的重要方法之一。DAO的一种面向对象的界面接口,特色为它不是可视化的对象...

[vb连接数据库]vb中运用dao方法连接数据库
[vb连接数据库]vb中运用dao方法连接数据库 [vb连接数据库]vb中运用dao方法连接数 据库 篇一 : vb中运用dao方法连接数据库 vb中运用dao方法连接数据库2008年05月28日 星期三 下午 09:04你只需要使用 连接数据库的方法就好了。 Set dbase=OpenDatabase Set rs=dbase.OpenRecordset End Sub 具体操作看后面的介绍~ DAO全称为数据访问对象,它是数据库编程的重要方法之一。DAO的一种面向对象的界面接口,特色为它不是可视化的对象,使用它全部都要靠编码来完成,DAO是设计关系型数据库系统结构的对象类的集合。它提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。由于ADO的出现,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 Err100 CreatDataBase “数据库名称.mdb” ,dbLangGeneral Msgbox “数据库建 立完毕” Exit Sub Err100: MsgBox “不能建立数据库! “ & vbCrLf & vbCrLf & Err.Description, vbInformation End Sub 这样,数据库便在当 前默认的路径下建立了。 二、 创建表与字段: 建立数据库后,则 需要在该数据库中建立表,这要用到TableDef 对象。先定义一个 TableDef类型的对象,然后用TableDef集合中Append方法将之追加 到数据库当中去。并且同时定义一个Field对象,用CreatFiele的方 法创建一个Field对象,向表中添加字段。例如: Private Sub Com_table_Click On Error GoTo Err100 Dim Defdb As DataBase Dim NewTable As TableDef Dim NewField As Field Set Defdb = Workspaces.OpenDatabase Set NewTable = DefDataBase.CreateTableDef Set NewField = DefTable.CreateField ′创 建一个字符型的字段,长度为6个字符 DefTableFields.Append NewField ′字段追加 DefDatabase.TableDefs.Append NewTable ′表追加 Msgb ox “ 表建立完毕 “ Exit Sub Err100: MsgBox “对不起,不能建 立表。[]请先再建表前建立数据库,”, vbCritical End Sub 一个数据库 可能有十几个甚至几十个字段,一个表中有多少个字段,则要创建多 少次并要追加到表中。每建立一个字段后都要用到字段追加命令,但 是表追加只需在所有字段建立完成后用一条命令即可完成。 三、 打 开数据库: 在VB中,对一个对象变量引用之前必须加以说明。DAO 也是如此,必须先声明数据库变量,例如:Dim dbase As Database 。 建立了数据库对象变量后,我们便可打开数据库了,在一般情况下都 只是访问一个数据库,当打开数据库后再对数据库中的各个记录进行 操作,这就要用到Recordset 对象建立记录集。例如: Private Sub Command_OpenDatabase_Click Dim dbase as Database Dim rs As Recordset Set dbase = OpenDatabase Set rs = dbase.OpenRecordset End Sub 这样,数据库中的记录便放到Recordset中,可以进行后续 操作了。 四、 使用数据库: 当打开数据库,建立Recordset 记录 集后,便可浏览、删除、添加、查找数据库中的内容。 1) 向前浏 览 Private Sub cmd_previous_Click rs.MovePrevious if rs.BOF =True then rs.Movelast End if for i = 0 to 11 label.caption = rs.Fields & ““ next End Sub 在字段赋值的末尾加上”“可以避免许多不必要的错误,在数 据库中,当一个字段为空的时候,它的值为Null ,Null表示什么也 没有。因此无法赋值,赋给变量时会出错。但我们加上”“空格符时, 便有效的避免了赋值错误,这个技巧非常的有用。 2) 向后浏览 Private Sub cmd_next_Click rs.MoveNext If rs.EOF =True then rs.MoveFirst End if for i = 0 to 11 label.caption = rs.Fields & ““ next End Sub 3) 删除记录 Private Sub cmd_del_Click On Error GoTo handle Dim msg as string msg = “是否要删除记录”& Chr$ msg = msg & label ′ 把删除记录的代号加入msg中 If Msgbox 1 Then Exit sub rs.delete rs.Movenext If rs.EOF = True Then rs.MovePrevious End if for i = 0 to 11 label.caption = rs.Fields & ““ next handle: MsgBox “该记录无法删 除!!!” Exit Sub End Sub 4) 添加记录 向数据库中添加记录比较麻烦 一点,大致分为三步:首先,用AddNew方法向数据库添加一个新的 空白记录;其次,将要输入的数据分别赋到数据库的各个字段中;最后,用Updata的方法,把记录写到数据库中去。例如: Private Sub cmd_new_Click rs.AddNew For i = 0 to 11 rs.Fields = TextBox.Text Next rs.Updata End Sub 5)查找记录 查找记录可以用Find方法,例 如: Pri vate Sub Cmd_search_Click Set rs = dbase.openRecordset rs.findfirst “字段名= „ “ & Text.Text & “ „ “ ′ Text.Text是输入的关键字 if rs.Nomatch = True then Msgbox “对不起,没有该记录” else For i = 0 to 11 label.caption = rs.Fields & ““ Next End if rs.close End Sub 以上只 是大致介绍了DAO的一些最常用、最典型的用法,真正要熟练掌握 它需要不懈的努力。[]当你很好的理解了DAO后,对学习新的RDO和ADO也有很大的帮助。并且DAO和ADO可以同时使用,DAO的缺陷在于查找功能不强,没有ADO方便,但动态创建数据库却远 超ADO,因此有时二者结合更强大。我们相信DAO一定会帮你节约 宝贵时间,为工作提供方便。 篇二 : vb登录界面设计笔记 vb登录界面设计实验笔记 实验目的:这次实验目的是设计出一个应用程序的登录界面,并连接SQL server 2000数据库,以实现用户登录功能。 实验任务: 新建数据库并命名为denglu,在该数据库中新建表User1,表包含的列为“ID,username,pwd”。 设计登录界面Frmlogin,以及登录成功后要显示的界面Form2,并连接到数据库,使包含在数据库中的合法用户能成功登录该程序,而不合法用户则无法进入程序。 实验内容: 一、界面设计 各控件名称属性分别为:label1 、text1 、label2、text2、commandok、cmdcancel 登录成功后显示的窗体: 代码设计如下: „首先添加一个模块,写上以下通用声明和Sub main: Public conn As ADODB.Connection „通用 Sub main Set conn = New ADODB.Connection „通用 conn.ConnectionString = “Provider=SQLOLEDB.1;Persist Security Info=False;” _ + “User ID=sa;password=123;Initial Catalog=denglu;Data Source=127.0.0.1” „连接数据库代码 conn.Open frmLogin.Show „首先显示登录界面。也可以在工程属性中设置启动 对象为Sub main或者frmlogin窗体 End Sub „在Frmlogin 代码窗口,为cmdok控件写以下代码: Private Sub cmdok_Click If text1.Text = ““ Then MsgBox “用户名不能为空~”, vbOKOnly + vbInformation, “友情提示” text1.SetFocus Exit Sub „若用户名文本框内为空,则出现提示框 End If If text2.Text = ““ Then MsgBox “密码不能为空~”, vbOKOnly + vbInformation, “友情提示” text2.SetFocus Exit Sub „若输入密码文本框为空,也出现提示框 End If Dim strSQl As String strSQl = “select * from User1 where username=„“ & Trim$ & “„ and pwd=„“ & Trim$ & “„ “ „ 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 写SQL代码,查询User1表中是否存在窗体中用户输入的信息。 Dim str As New ADODB.Recordset Set str = New ADODB.Recordset str.CursorLocation = adUseClient str.Open strSQl, conn, adOpenStatic, adLockReadOnly With str If .State = adStateOpen Then .Close .Open strSQl If .EOF Then Try_times = Try_times + 1 If Try_times >= 3 Then MsgBox “您已连续三次输入错误,系统将自动关闭”, vbOKOnly + vbCritical, “警告” Unload Me „若用户连续输入3次错误密码,则系统关闭 Else MsgBox “对不起,用户名不存在或密码错误 ~”, vbOKOnly + vbQuestion, “警告” text1.SetFocus text1.Text = ““ text2.Text = ““ End If Else Unload Me „若登录成功,则隐藏当前窗体 Form2.Show „然后显示Form窗体 End If End With End Sub Private Sub cmdCancel_Click End „若单击Cmdcel按钮,则结束应用程序 End Sub 运行中存在的问题: 代码中有Dim conn As adodb.connection,运行时显示”用户定义类型未定义”,请问我应该怎么做? 解决方法:点击“工程”--“引用”找到“Microsoft ActiveX Data Object 2.6” 然后就就可以正常运行了。篇三 : VB几种连接数据库的方法 ,、用DAO控件连接数据库 1.与Access2000数据库连接 Private Sub Command1_Click „也可直接在控件属性中设置以下各项但在控件属性中不能写入密码 „只有在数据数没有密码的情况下可以省略 Data1.Refresh Data1.Connect = “Access 2000;” Data1.DatabaseName = App. Path +”\chncmadb.mdb” „数据库没有密码此句可省 Data1.Connect = “;pwd=123456” „Data1.RecordSource =“耕地资源管理单元属性数据表2004” Data1.RecordSource = “select * from耕地资源管理单元属性数据表2004” Data1.Refresh ’move后才能正确显示记录个数 End Sub 2.与没有密码的DBF文件数据库连接 Private Sub Command2_Click Data1.Connect = “dBASE III;” Data1.DatabaseName = App. Path „ Data1.RecordSource =“DBF” Data1.RecordSource = “select * fromdbf” Data1.Refresh ’move后才能正确显示记录个数 End Sub 3.与没有密码的Excel文件数据库连接 Private Sub Command3_Click Data1.Connect = “Excel 8.0;” Data1.DatabaseName = App.Path &”\EXcel.xls” Data1.RecordSource = “select *from [EXcel.xls]” Data1.Refresh ’move后才能正确显示记录个 End Sub 二、用DAO代码连接数据库 „在使用DAO对象前应选定VisualBasic菜单下的[工程]中的引用了菜单中的[Microsoft DAO 3.6 ObjectLibrary]选项,或其它版本 1.DAO代码与Access数据库连接 Private Sub Command1_Click Dim Db As Database Dim Rs As Recordset „以共享、读写方式打开?如果无密码最后一个参数可以不要 Set Db= OpenDatabase „不需要move来更新记录个数 „Set Rs =Db.OpenRecordset „需要move来更新记录个数 Set Rs = Db.OpenRecordset If Rs.RecordCount > 0 Then Rs.MoveLast Rs.MoveFirst End If End Sub 2.DAO代码与没有密码的DBF文件数据库连接 Private Sub Command2_Click Dim Db As Database Dim Rs As Recordset „以共享、读写方式打开 Set Db = OpenDatabase „不需要move来更新记录个数 „Set Rs = Db.OpenRecordset ’需要move来更新记录个数 Set Rs = Db.OpenRecordset If Rs.RecordCount > 0 Then Rs.MoveLast Rs.MoveFirst End If End sub 3.?DAO代码与没有密码的Excel文件数据库连接 Private Sub Command3_Click Dim Db As Database Dim Rs As Recordset „以共享、读写方式打开?如果无密码最后一个参数可以不要 Set Db = OpenDatabase „不需要move来更新记录个数 „ Set Rs = Db.OpenRecordset?表格中的工作目录sheet „需要move来更新记录个数 Set Rs = Db.OpenRecordset „表格中的工作目录sheet? If Rs.RecordCount > 0 Then Rs.MoveLast Rs.MoveFirst End If End Sub 三、用ADO控件连接数据库 „也可直接在控件属性中设置以下各项 1.ADO控件与Access2000数据库连接 Private Sub Command1_Click „连接有密码的Access数据库 „Adodc1.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;DataSource=“ & App.Path & “\chncmadb1.mdb;Jet OLEDB:DataBasePASSWORD=123456” „连接没有密码的Access数据库 Adodc1.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;DataSource=“ & App.Path & “\chncmadb.mdb;Persist SecurityInfo=False” „Adodc1.RecordSource =“[耕地资源管理单元属性数据表2004]” Adodc1.RecordSource = “select * from[耕地资源管理单元属性 数据表2004]” Adodc1.Refresh SetDataGrid1.DataSource = Adodc1 DataGrid1.Refresh End Sub 2.?ADO控件与DBF表连接 Private Sub Command2_Click „Adodc1.ConnectionString = “Provider=MSDASQL.1;Persist SecurityInfo=False;Data Source=dBASE Files;DBQ=“ & App.Path &”;SourceType=DBF;” „Adodc1.ConnectionString = “Provider=MSDASQL.1;Persist SecurityInfo=False;Extended Properties=DSN=Visual FoxProTables;UID=;SourceDB=”& app.path&”;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Coll ate=Machine;Null=Yes;Deleted=Yes;” „Adodc1.ConnectionString = “Provider=MSDASQL.1;Persist SecurityInfo=False;Extended Properties=DSN=dBASE Files;DBQ=”& app.path&”;;DefaultDir=”& app.path&”;DriverId=533;MaxBufferSize=2048;PageTimeout=5;” „能使表名长度不受限制 Adodc1.ConnectionString = “Provider=MSDASQL.1;Driver=MicrosoftVisual Foxpro Driver;SourceDB=“ & App.Path &”;SourceType=DBF;Locale Identifier=2052” „Adodc1.RecordSource = “[DBF1]” Adodc1.RecordSource = “select * from DBF1” Adodc1.Refresh SetDataGrid1.DataSource = Adodc1 DataGrid1.Refresh End Sub 3.?ADO控件与Excel表连接 Private Sub Command3_Click „下面一句测试未能通过 „Adodc1.ConnectionString = “DataProvider=MSDASQL.1;driver=Microsoft Excel Driver *.xls);DBQ=“ &App.Path & “\EXcel.xls” „Adodc1.ConnectionString=“Provider=MSDASQL.1;Persist SecurityInfo=False;Extended Properties=DSN=Excel Files;DBQ=“ & App.Path& “\EXcel.xls;DefaultDir=”&app.path&”;DriverId=790;MaxBufferSize=2048;PageTimeout=5;” Adodc1.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;PersistSecurity Info=False;Data Source=“ & App.Path &”\EXcel.xls;Extended Properties=„Excel 8.0;HDR=Yes?” „Adodc1.RecordSource = “[EXcel.xls]” Adodc1.RecordSource = “select * from [EXcel.xls]” Adodc1.Refresh SetDataGrid1.DataSource = Adodc1 DataGrid1.Refresh End Sub 4.?ADO控件与Oracle数据库连接 Private Sub Command4_Click „Adodc1.ConnectionString =“Provider=MSDAORA.1;Password=chncmadb;User ID=chncmadb;DataSource=towebserver;Persist Security Info=True” Adodc1.ConnectionString=“Provider=OraOLEDB.Oracle.1;Password=ch ncmadb;PersistSecurity Info=True;User ID=chncmadb;DataSource=towebserver” „Adodc1.RecordSource = “T320481TR012004” „表名不能加方括号 Adodc1.RecordSource = “select * from T320481TR012004” Adodc1.Refresh SetDataGrid1.DataSource = Adodc1 DataGrid1.Refresh End Sub 5.?ADO控件与SQLserver数据库连接 „未测试 Private Sub Command5_Click Adodc1.ConnectionString = “Provider=SQLOLEDB.1;Password=111;PersistSecurity Info=True;User ID=111;Initial Catalog=111;DataSource=111” „Adodc1.RecordSource = “T320481TR012004” Adodc1.RecordSource = “select * from T320481TR012004” Adodc1.Refresh SetDataGrid1.DataSource = Adodc1 DataGrid1.Refresh End Sub 四、用ADO代码连接数据库 „在使用ADO对象前应选定VisualBasic菜单下的[工程]中的引用了菜单中的[Microsoft.ActiveX Data Object2.5 Library]选项,或其它版本 1.?ADO代码与Access2000数据库连接 Private Sub Command1_Click DimAdoCnn As ADODB.Connection DimAdoRs As ADODB.Recordset SetAdoCnn = New ADODB.Connection SetAdoRs = New ADODB.Recordset AdoCnn.CursorLocation = adUseClient „.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串 AdoCnn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ &App.Path & “\chncmadb1.mdb;Jet OLEDB:DataBasePASSWORD=123456” AdoRs.Open “select * from[耕地资源管理单元属性数据表 2004]”, AdoCnn, adOpenDynamic,adLockPessimistic, adCmdText SetDataGrid1.DataSource = AdoRs SetAdoRs = Nothing SetAdoCnn = Nothing End Sub 2.?ADO代码与DBF表连接 Private Sub Command2_Click DimAdoCnn As ADODB.Connection DimAdoRs As ADODB.Recordset SetAdoCnn = New ADODB.Connection SetAdoRs = New ADODB.Recordset AdoCnn.CursorLocation = adUseClient „.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串 AdoCnn.Open “Provider=MSDASQL.1;Driver=Microsoft Visual FoxproDriver;SourceDB=“ & App.Path & “;SourceType=DBF;LocaleIdentifier=2052” AdoRs.Open “select * from [DBF1]”, AdoCnn,adOpenDynamic, adLockPessimistic, adCmdText SetDataGrid1.DataSource = AdoRs SetAdoRs = Nothing SetAdoCnn = Nothing End Sub 3.?ADO代码与Excel表连接 Private Sub Command3_Click DimAdoCnn As ADODB.Connection DimAdoRs As ADODB.Recordset SetAdoCnn = New ADODB.Connection SetAdoRs = New ADODB.Recordset AdoCnn.CursorLocation = adUseClient „.open后面的字符串可以参考ADO控件连接.ConnectionString 后面的的字符串 AdoCnn.Open”Provider=Microsoft.Jet.OLEDB.4.0;Persist SecurityInfo=False;Data Source=“ & App.Path & “\EXcel.xls;ExtendedProperties=„Excel 8.0;HDR=Yes?” AdoRs.Open “select * from [EXcel.xls]”,AdoCnn, adOpenDynamic, adLockPessimistic, adCmdText SetDataGrid1.DataSource = AdoRs SetAdoRs = Nothing SetAdoCnn = Nothing End Sub 4.?ADO代码与Oracle数据库连接 Private Sub Command4_Click DimAdoCnn As ADODB.Connection DimAdoRs As ADODB.Recordset SetAdoCnn = New ADODB.Connection SetAdoRs = New ADODB.Recordset AdoCnn.CursorLocation = adUseClient „.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串 AdoCnn.Open “Provider=OraOLEDB.Oracle.1;Password=chncmadb;PersistSecurity Info=True;User ID=chncmadb;DataSource=towebserver” AdoRs.Open “select * from T320481TR012004”,AdoCnn, adOpenDynamic, adLockPessimistic, adCmdText SetDataGrid1.DataSource = AdoRs SetAdoRs = Nothing SetAdoCnn = Nothing End Sub 5.?ADO代码与SQLserver数据库连接 „未测试 Private Sub Command5_Click DimAdoCnn As ADODB.Connection DimAdoRs As ADODB.Recordset SetAdoCnn = New ADODB.Connection SetAdoRs = New ADODB.Recordset AdoCnn.CursorLocation = adUseClient „.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串 AdoCnn.Open “Provider=SQLOLEDB.1;Password=111;Persist SecurityInfo=True;User ID=111;Initial Catalog=111;DataSource=111” AdoRs.Open “select * from T320481TR012004”,AdoCnn, adOpenDynamic, adLockPessimistic, adCmdText SetDataGrid1.DataSource = AdoRs SetAdoRs = Nothing SetAdoCnn = Nothing End Sub 该文章转载自网络大本营:
本文档为【[vb连接数据库]vb中运用dao方法连接数据库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_014457
暂无简介~
格式:doc
大小:47KB
软件:Word
页数:18
分类:
上传时间:2017-09-28
浏览量:42