VB 程序设计

10个成员

使用Visual Basic访问数据库几个注意的问题

发表于 2016-12-25 3535 次查看
Visual Basic 3.x For Windows是一门开发Windows应用程序很好的一种语言,使用它能够开发出大型的应用系统。它具有访问各种数据库的功能。下面将谈谈用VB访问数据库应注意的几个问题。
一、如何来访问数据库。VB访问数据库提供二种方法,其一是用数据控制,其二是使用对象来访问数据库。在这两种方法中,都涉及到数据库的属性:connect,databasename,exclusive,options,readonly,recordsoure。这些属性很多书上都有介绍,笔者不再详述。但有时你按书上介绍设置好connect,databasename后再设置recordsoure时,经常会出现“无法找到可安装的ISAM”错误。这里所讲的[ISAM]是在VB.INI文件中,它为VB指明所访问数据库的动态链接库。而在connect中所用的数据库的名称必须于[ISAM]中的数据库的名称相符合,这样就可以轻松地打开数据库。

二、关于书签指针即bookmark属性。在VB访问数据库时,数据库中的记录是没有记录号的。但VB提供了bookmark属性来记录当前访问记录的记录指针。这个bookmark就相当于记录号。但笔者在编程时发现在使用数据库控制和用对象打开数据库来访问同一个数据库时的bookmark属性在这两者之间并不通用。当你用bookmark记录了用数据控制打开的数据库的当前记录指针,然后使用对象打开此数据库后,用数据控制的bookmark来查找定位记录时,将会导致bookmark不合法的错误。

三、要注意hide方法和unload方法的区别。Hide方法是将你所指定的表单隐藏起来,但并不从内存中删除它,故此表单的内容并没有改变。而unload方法是将指定的表单删除掉(从屏幕上消失并从内存中删除)。如你在当前表单中使用格子控制来显示记录内容,然后用hide方法隐藏此表单,随后你重新选定记录装入格子控制,用show方法显示隐藏的表单,此时格子里的内容依然是旧的内容而新内容并没有代替旧内容。这里就需要使用unload方法将表单删除,然后新记录装入格子控制,用show方法显示时,就可以看到新的内容。

四、要注意变量类型的匹配。在访问数据库时,显示记录一般都使用格子控制。其中grid.text是子符串类型。但有些记录的数据项是空的(null)即没有数据。若将null装入grid.text显然会出错。所以这里就需要加入类型的判断,将null数据项赋于空格子符串,这样就可以解决此问题。

五、如何实现网格式打印数据库记录。VB所提供的打印机输出对象有表单、文本框、图片框和报表。这里可以使用报表控制来实现网格式打印输出。但报表控制需要报表格式文件.prt。此文件由VB提供的报表编辑器来设计你所需要的报表格式。而产生的报表文件是输出数据库的所有记录,但往往我们只需要数据库中符合条件的部分记录。如何实现部分记录的网格式打印呢?笔者所用的方法是用报表编辑器设计一个连接空的数据库文件,然后在程序运行中将符合条件的部分记录装入空的数据库中,再使用报表控制来打印输出,这样就可以实现任何你所需要数据的报表打印输出。

六、要注意调用系统的DLL(dynamic-link libraries,动态链接程序库)。VB是一种高级程序设计语言,不具备低级语言的一些功能,它本身对于访问机器硬件等操作比较困难。若通过DLL调用Windows应用程序接口(API)函数,就可以方便地访问硬件。系统的DLL有keynel库,gdi库和user库,其中keynel库负责内存管理和文件管理,gdi库负责显示和打印功能,user 负责键盘、鼠标、声音、通信、系统定时的管理。同时,VB也可以调用任何语言所编写的DLL。所以要想编出高质量的应用程序就必须学会如何调用DLL来实现所需的功能。
总之,Visual Basic语言有着各种强大的功能,以上所讲的只是笔者编程时的一些小经验,希望能够给广大读者带来帮助。

 

发表回复
你还没有登录,请先登录注册