科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Visual Basic数据库操作方法小结

Visual Basic数据库操作方法小结

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

笔者和同事们在使用VB对数据库操作应用时,总结了几种方法,供初学者参考。

作者:务实 来源:yesky 2007年10月14日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
3、用SQL语句完成数据库操作

  SQL也就是结构化查询语言,是用于数据库查询的一种通用标准语言,在现今的大多数数据库软件系统中均得到支持。1句SQL语句通常可以完成以前由许多条语句才能完成的复杂的数据库查询操作,具有较高的工作效率。

  在VB中,SQL语句往往作为某些特定方法的参数而得以执行(没有FoxPro等数据库软件那样直截了当),比如可以把SQL语句作为Execute方法的1个字符串参数而执行,其格式如下:

object.Execute SQL-statement,options

  在其中的SQL-statement字符串中,可以使用标准的SQL语句,如:SELECT、INSERT、DELETE及UPDATE等。下面的例子是在数据库对象DB中执行SQL语句,从当前数据库的EMployees数据表中,选择字段LastName='King'的所有记录,并将这些记录的LastName和FirstName这2个字段的内容,保存到同一数据库的Backup数据表中:

DB.Execute("SELECT LastName,FirstName INTO Backup FORM Employees
WHERE LastName='King';")

  4、For语句在数据库中的应用

  For语句是几乎所有高级语言都有的语句,通常用来完成指定次数的循环,在循环中可以完成一些指定的工作。而在VB中,For语句还可以用来对某个集合中的每1个元素循环执行若干操作,而不必预先设定循环次数,其格式如下:

For Each element In group
 [statements]
Next[element]

  For语句的这一特点可用于按照指定条件搜索整个数据库。以下的代码便可以对数据库对象DB所指的数据库中的所有数据表进行搜索,并完成指定的操作:

For Each Td In DB.Table Defs ' 循环搜索数据库中的所有数据表
 ... ... ' 对数据表执行指定的操作
Next

  5、复制数据库的结构定义

  在数据库应用中,经常需要在程序运行时动态地把一个数据库的结构定义完整地复制到另一个数据库中。由于新型的数据库可以同时包含若干个数据表,而每个数据表的结构定义又不近相同,因此,如果通过逐个定义数据表中所有字段的类型、长度的方法复制数据库结构,则该程序将变得相当冗长和复杂,日后的维护也比较困难。但是,通过综合运用上述的几种应用方法,用相当短的VB语句完成同样的工作,实且程序也易于理解和维护。

  程序清单如下:

Sub CopyDBStrnc(src As String,dst As String)
 ' 定义子程序Copy DBStrnc,用于复制数据库结构
 ' 调用参数:
 ' src--源数据库的文件名
 ' dst--目的数据库的文件名
 Dim DB As Database,Td As TableDef,SQLstr As String
 ' 定义变量:
 ' DB--数据库对象
 ' Td--数据表定义对象
 ' SQLstr--SQL语句变量
 Set DB=Create Database(dst,dbLangGeneral)
 ' 创建目的数据库dst
 ' 关闭目的数据库dst
 DB.Close
 Set db=OpenDatabase(src,False,True)
 ' 以共享、只读方式打开源数据库src
 For Each Td In DB.TableDefs
  ' 循环搜索源数据库DB中的所有数据表定义
  If(Td.Attributes And dbSyste mObect)=0 Then
   ' 忽略系统数据表,只针对用户定义的数据表进行搜写
   SQLstr="SELECT * INTO"+Td.Name+"IN"+dst+"'FROM"+
       Td.Name+"'IN"+src+"'WHERE False'
   ' 对SQL语句变量赋值,完成以下功能:
   ' 从源数据库src的数据表中选择所有字段
   ' 存入目的数据库dst的同名数据表中
   ' 选择数据表的字段定义,不包括任何记录
   DB.Execute(SQLstr) ' 执行SQL语句
  End If
 Next ' 结束循环搜索
 DB.Close ' 关闭源数据库
Exit Sub ' 结束子程序定义

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章