欢迎来到天天文库
浏览记录
ID:34726749
大小:69.68 KB
页数:3页
时间:2019-03-10
《vb中用ado对象动态创建数据库和表》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VB中用ADO对象动态创建数据库和表我们现在的目的就是让用户利用ADO对象在程序运行过程中创建数据库和表,就好象他利用Access来建立数据库和表一样。为此,我们应该引用对象库"MicrosoftActiveXDataObjects2.5Library"和"MicrosoftADOExt2.1.ForDDLSecurity" 我们不妨用一个实例来说明具体的操作过程和方法。我们的实例要达到目的是:在程序运行过程中建立一个数据库,数据库的名称由用户输入。然后在数据库中建立一个名为"MyTable"的数据表,数据表中有三个字段,它们分别
2、是:"编号"(整数型)、"姓名"(字符型,宽度为8)、"住址"(字符型,宽度为50),接着在数据表中添加一条记录,最后在DataGrid控件中把记录的内容显示出来,并且让用户在DataGrid控件中任意修改、添加记录。 首先在vb中新建一个窗体,然后在"工程"菜单中引用对象库"MicrosoftActiveXDataObjects2.5Library"和"MicrosoftADOExt2.1.ForDDLSecurity"。接着定义三个窗体级的对象变量和一个窗体级的字符串变量,它们的具体定义是: DimcatAsNewADOX.
3、Catalog'不用cat用另外一个名字也可以 DimconnAsNewADODB.Connection DimrsAsNewADODB.Recordset DimpstrAsString'定义该变量是为了后面的书写方便 为了更灵活地创建数据库,我们可以在窗体中加入一个通用对话框、一个DataGrid控件,三个命令按钮,它们的标题分别是:创建数据库和表、查看、更新。通用对话框的作用是给用户输入数据库文件名和决定数据库的存放位置。"创建数据库和表"命令按钮对应的代码是: PrivateSubCommand1_Click()
4、 DimfmAsString'fm变量用来获取用户输入的文件名 CommonDialog1.Filter="MDB文件(*.mdb)
5、*.mdb
6、AllFiles(*.*)
7、*.*
8、" CommonDialog1.FilterIndex=1 CommonDialog1.InitDir="D:Jthpaper" CommonDialog1.Flags=6 CommonDialog1.Action=2 IfCommonDialog1.FileName=""Then MsgBox"你必须输入一个文件名,请重新保存一次!"
9、 ExitSub Else fm=CommonDialog1.FileName EndIf pstr="Provider=Microsoft.Jet.OLEDB.4.0;"'不能把这里的4.0改为3.51 pstr=pstr&"DataSource="&fm cat.Createpstr'创建数据库 DimtblAsNewTable cat.ActiveConnection=pstr tbl.Name="MyTable"'表的名称 tbl.Columns.Append"编号",adInteger'表的第一个字段
10、 tbl.Columns.Append"姓名",adVarWChar,8'表的第二个字段 tbl.Columns.Append"住址",adVarWChar,50'表的第三个字段 cat.Tables.Appendtbl'建立数据表 conn.Openpstr rs.CursorLocation=adUseClient rs.Open"MyTable",conn,adOpenKeyset,adLockPessimistic rs.AddNew'往表中添加新记录 rs.Fields(0).Value=9801 rs.F
11、ields(1).Value="孙悟空" rs.Fields(2).Value="广州市花果山" rs.Update EndSub 上面程序中有一个需要说明的地方,这就是语句:pstr="Provider=Microsoft.Jet.OLEDB.4.0;",这个语句表示MicrosoftJetOLEDB驱动程序的版本是4.0,这是目前最新的版本,利用它你可以用VB中的ADO对象访问Access2000及其以下版本所建立的数据库。你不能把这里的"4.0"改为"3.51",否则程序不能正常运行;在VB6中,3.51版本的Micr
12、osoftJetOLEDB驱动程序对应的是Access97数据库。换而言之,用这种方法建立的数据库和表跟用Access2000所建立的数据库和表是同一类型的,你只能直接用Access2000来打开,虽然你可以用VB6来访问这种数据库和
此文档下载收益归作者所有