设为首页 | 收藏本站
首页>IT学院>软件编程>正文
VB程序中用ADO对象动态创建数据库和表
WWW.DBIT.CN 2006-9-5 0:41:08 热度:
 


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

Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim command As New ADODB.command

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
  command.CommandText = 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中新建一个窗体,然后在"工程"菜单中引用对象库"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

本新闻共3页,当前在第2页  1  2  3  

 
上一篇:用VB播放Avi、Wave、midi文件
下一篇:PHP生成静态页面详解
打印】【关闭
  相关文章:
·VB2005中开发新一代控制台应用程序·用VB播放Avi、Wave、midi文件
·VB十七种可用一行代码完成的技巧·VB问题集锦及编程技巧
·VB实现远程共享显示及声音·VB制作半透明窗体
·VB取得屏幕解析度·VB禁止使用Alt+F4关闭窗口
·VB中阴影字体的实现 ·利用VB6.0开发基于IIS的应用程序
·在VB中使用DOS命令·用VB实现窗口图标最小化到通知栏
·掌握VB中的ADO数据对象编程·巧用Visual Basic的Timer控件
·利用VB设计聊天室·用VB编写“红绿灯”程序
☆联姻学院☆

保养电脑的26个窍门
文件夹删除不掉怎么办?
教你如何用手工迅速剿灭QQ广告
“熊猫烧香”病毒的病毒描述和
在Excel中只打印图表以外区域
Excel中只选中包含文本的单元
Windows XP操作系统的几个实用
用XP系统自带网络诊断程序解决
风雨雷电→自然现象动画实战技
Flash遮罩特效之百叶窗效果
十二个Dreamweaver鲜为人知的
如何用 Dreamweaver 批量做we
JavaScript的系统函数学习
Java之父:关于Java我也有遗憾
排除网上邻居使用4大常见麻烦
解除上网限制IP和MAC捆绑的破