vb中的数据库连接用的是Dao,连接Access数据。可不可以...

fpe2000 2000-05-04 03:45:00
1.vb中的数据库连接用的是Dao,连接Access数据。可不可以连接Exel电子表格数据?
2.vb的SQL语句用法是不是select * from table where member = 'key word' ?
...全文
252 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
王释之 2000-05-09
  • 打赏
  • 举报
回复
2。cmd.CommandText = "select * from table where member = ' & key word & '"
应该是
cmd.CommandText = "select * from table where member = ' "& key word &" '"
连接数据库有dao,rdo,ado等
1。连接Exel电子表格数据可以用ole对象,进行连接或嵌入。具体步骤无(lv不会屏)
xl 2000-05-07
  • 打赏
  • 举报
回复
Dao是VB内部自带的数据库引擎(MSJet),可访问包括ACCESS,FOXPRO,VFP,EXCEL,Paradox,ODBC等数据库.
Dao用的查询语言也是SQL语言,不过它尊从SQL-89规范,并作了一定的改进增加了一些函数,不过大部分还是没有变,所以以上的SQL语句是可以使用的.
bokei 2000-05-05
  • 打赏
  • 举报
回复
好象ADO可以。
S391 2000-05-04
  • 打赏
  • 举报
回复
连接Access数据库有好几种连接方法,DAO只是其中的一种;
但是你想用DAO连接Exel数据表格?好像不可能吧!你可以试试OLE.
coollele 2000-05-04
  • 打赏
  • 举报
回复
回答第二个问题,写法没错,不过先要定义数据源。
比如这样:
Dim rsTemp As New ADODB.Recordset
Dim cmd As New ADODB.Command
Dim conn As New ADODB.Connection

conn.Open "DSN=Helpok;database=Helpok;uid=sa;pwd=;"
Set cmd.ActiveConnection = conn

Dim rstInfomation As Recordset

Set dbsHelpok = OpenDatabase("", dbDriverNoPrompt, False, _
"ODBC;DATABASE=helpok;UID=;PWD=;DSN=helpok")

cmd.CommandText = "select * from table where member = ' & key word & '"
rsTemp.CursorLocation = adUseClient
rsTemp.Open cmd, , adOpenDynamic, adLockOptimistic
存取对象变量库结构作为一个功能较完备的Windows软件开发平台,Visual Basic专业版提供了对数据库应用的强大支持。尤其提供了使用数据控件和绑定控制项,使用数据库存取对象变量(Data Access Object Variable),直接调用ODBC 2.0 API接口函数等三种访问数据库的方法。对其标准内置的Ms Access数据库,它可以提供不弱于专业数据库软件的支持,可以进行完整的数据库维护、操作及其事务处理。在VB,将非Access数据库称为外来数据库。对于FoxPro、dBASE、Paradox等外来数据库。虽然借助VB的Data Manager 能够对这些数据库进行NEW、OPEN、DESIGN、DELETE等操作,但在应用程序的运行状态并不能从底层真正实现这些功能。本文从使用数据库存取对象变量的方法出发,实现了非Access格式数据库(以FoxPro数据库为例)的建新库、拷贝数据库结构、动态调入等操作,阐述了从编程技巧上弥补VB对这些外来数据库支持不足的可行性 。 一 、 VB数据库的体系结构具体的VB数据库结构。 VB数据库的核心结构是所谓的MicroSoft JET数据库引擎,JET引擎的作用就像是一块"面 板",在其上可以插入多种ISAM(Indexed Sequential Access Method,即索引顺序存取方 法) 数据驱动程序。JET引擎为Access格式数据库提供了直接的内部(build-in)支持,这就是VBAccess数据库具有丰富支持的真正原因。 VB专业版提供了FoxPro、dBASE(或 Xbase)、Paradox、Btrieve等数据库的ISAM驱动程序,这就使得VB能支持这些数据库格 式。另外,其他的许多兼容ISAM的驱动程序也可以通过从厂商的售后服务得到。因而从理论上说,VB能支持所有兼容ISAM的数据库格式(前提是只需获得这些数据库的ISAM驱动接口程序)。 由上可见,Ms JET引擎实质上提供了:一个符合ANSI标准的语法分析器;为查询结果集的使用而提供的内存管理功能;同所支持的数据库的外部接口;为应用代码提供的内部接口。实际上,在VB从一种数据库类型转化为另一种数据库类型几乎不需要或只需要很少的代码修改。而且,尽管dBASE、Paradox本身的DDL (Data Definition Language,即数据定义语言)和DML(Data Manipulation Language,即数据操纵语言)是非结构化查询的,但它们仍然可以使用VB的SQL语句和JET引擎来操纵。 从VB的程序代码的角度来看,ODBC,ISAM驱动程序以及Ms Access数据库的整个外部结构够可以统一为一个一致的编程接口。也即是说,提供给VB应用程序员的记录集对象视图同所使用的数据库格式及类型是相互独立的。即对FoxPro等数据库仍然可以使用众多的数据库存取对象变量,这就为非Access数据库的访问提供了最重要的方法。   二 、使用非Access数据库时的参数设置及配置文件的参数读取如果在VB的程序使用了数据库的操作,将应用程序生成EXE文件或打包生成安装程序后,则必须提供一个配置 (.INI)文件,在INI文件可以对不同类型的数据库进行设置。如果找不到这个INI文件, 将会导致不能访问数据库。通常情况下,INI文件的文件名和应用程序的名称相同,所以如果没有指明,VB的程序会在Windows子目录去找和应用程序同名的INI文件。可以使用VB的SetDataAccessOptions语句来设置INI文件。 SetDataAccessOptions语句的用法如下:SetDataAccessOptions 1 ,IniFileName其IniFileName参数指明的是INI文件的带路径的文件名。值得注意的是,当应用程序找不到这个INI文件时,或在调用 OpenDataBase函数时对其Connect参数值没有设定为VB规定的标准值,如对FoxPro 2.5格式设定为了" FoxPro;"(应为" FoxPro 2.5; "),或者没有安装相应的ISAM驱动程序,则此时VB会显示一条错误信息" Not Found Installable ISAM "。通常,INI文件在应用程序分发出去以前已经生成,或者在安装时动态生成,也可以在应用程序自己生成。 通常这种 INI文件有" [Options]"、"[ISAM]"、" [Installed ISAMs]"、"[FoxPro ISAM]"、"[dBASE ISAM] " 、" [Paradox ISAM] "等设置段,对于一个完整的应用程序则还应有一个属于应用 程序自己的设置段如" [MyDB]”。可在其设置DataType、Server、DataBase、 OpenOnStartup、DisplaySQL、QueryTimeOut等较为重要的数据库参数,并以此限定应用程序一般的运行环境。 Windows API接口函数在Kernel.exe动态链接库提供了一个OSWritePrivateProfileString函数,此函数能按Windows下配置文件(.INI)的书写格式写入信息。 在通常情况下,应用程序还需要在运行时读取配置文件内相关项的参数。比如PageTimeOut(页加锁超时时限)、MaxBufferSize(缓冲区大小)、LockRetry(加锁失败时重试次数)等参数,通过对这些参数的读取对应用程序运行环境的设定、潜在错误的捕获等均会有很大的改善。 设此应用程序的配置文件为MyDB.INI,则具体过程如下:Funtion GetINIString$( Byval Fname$ ,Byval szItem$ ,Byval szDeFault$ ) ' 此自定义子函数实现INI 文件内设置段内参数的读取Dim Tmp As String,x As Integer Tmp = String( 2048,32 ) x = OSGetPrivateProfileString(Fname$,szItem$ , szDefault$,Tmp,Len(Tmp) ," MyDB.INI " ) GetINIString = Mid$( Tmp,1,x ) EndFunction以下这些函数的声明可写在模块文件内,且每个函数的声明必须在一行内Declare Function OSGetPrivateProfileString% Lib "Kernel" Alias "GetPrivateProfileString" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal ReturnString$, ByVal NumBytes As Integer, ByVal FileName$) Declare Function OSWritePrivateProfileString% Lib "Kernel" Alias "WritePrivateProfileString" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal FileName$) Declare Function OSGetWindowsDirectory% Lib "Kernel" Alias "GetWindowsDirectory" (ByVal a$, ByVal b%) Sub Form1_Load( ) Dim st As String Dim x As Integer Dim tmp As String tmp = String$( 255, 32 ) ' INI文件内为各种数据库格式指明已安装的相应ISAM驱动程序x = OSWritePrivateProfileString(" Installable ISAMS", "Paradox 3.X", "PDX110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "dBASE III", "XBS110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "dBASE IV", "XBS110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "FoxPro 2.0", "XBS110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "FoxPro 2.5", "XBS110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "Installable ISAMS", "Btrieve", "BTRV110.DLL", "MyDB.INI" ) x = OSWritePrivateProfileString( "dBase ISAM", "Deleted", "On", "MyDB.INI" ) ' 指明 INI文件的位置x = OSGetWindowsDirectory( tmp, 255 ) st = Mid$( tmp, 1, x ) SetDataAccessOption 1, st + "\mydb.ini" '获得INI文件一些参数 gwMaxGridRows = Val(GetINIString( " MyDB.INI " ,"MaxRows", "250" )) glQueryTimeout = Val(GetINIString( " MyDB.INI " ,"QueryTimeout", "5" )) glLoginTimeout = Val(GetINIString( " MyDB.INI " ,"LoginTimeout", "20" )) End Sub   三 、数据存取对象变量对外来数据库编程的方法及其实例在VB专业版数据库编程的三种方法,第二种-使用数据库存取对象变量(DAO)的方法最具有功能强大、灵活的特点。 它能够在程序存取ODBC 2.0的管理函数;可以控制多种记录集类型:Dynaset,Snapshot 及Table记录集合对象;可以存储过程和查询动作;可以存取数据库集合对象,例如 TableDefs,Fields,Indexes及QueryDefs;具有真正的事物处理能力。因而,这种方法对数据库处理的大多数情况都非常适用。 由于VB的记录集对象与所使用的数据库格式及类型是相互独立的,所以在非Access数据也可以使用数据库存取对象变量的方法。因而 对FoxPro等外来数据库而言,使用数据库存取对象变量的方法同样也是一种最佳的选择。 有一点需要注意的是,VB的标准版仅能使用数据控件(Data Control)对数据的记录进行访问,主要的数据库存取对象也仅有Database、Dynaset对象可通过数据控件的属 性提供,其它的重要对象如TableDef、Field、Index、QueryDef、Snapshot、Table等均不能在VB的标准版生成,所以使用数据存取对象变量的方法只能用VB 3.0以上的专业版。 (一)、非Access数据库的新建及库结构的修改VB专业版数据库存取对象变量可以分为两类,一类用于数据库结构的维护和管理,另一类用于数据的存取。其表示数据库结构时可以使用下面的对象: DataBase、TableDef、Field、Index,以及三个集合 (Collection): TableDefs、Fields和Indexes 。每一个集合都是由若干个对象组成的,这些数据对象的集合可以完全看作是一个数组,并按数组的方法来调用。一旦数据库对象建立后,就可以用它对数据库的结构进行修改和数据处理。对于非Access数据库,大部分都是对应于一个目 录,所以可以使用VB的MkDir语句先生成一个目录,亦即新建一个数据库。而每一个非 Access数据库文件可看作是此目录下的一个数据表(Table),但实际上它们是互相独立的。 下面是新建一个FoxPro 2.5格式数据库的程序实例。 Sub CreateNew ( ) Dim Db1 As database , Td As TableDefs Dim T1 As New Tabledef , F1 As New Field , F2 As New Field , F3 As New Field Dim Ix1 As New Index Dim Path As String Const DB_TEXT = 10 , DB_INTEGER = 3 ChDir "\" Path$ = InputBox( " 请输入新路径名: ", "输入对话框" ) MkDir Path$ ' 新建一个子目录Set Db1 = OpenDatabase(Path$, True, False, "FoxPro 2.5;") Set Td = Db1.TableDefs T1.Name ="MyDB" '新建一个数据表,数据表名为MyDB F1.Name = "Name" , F1.Type = DB_TEXT , F1.Size = 20 F2.Name = "Class" , F2.Type = DB_TEXT , F2.Size = 20 F3.Name = "Grade" , F3.Type = DB_INTEGER T1.Fields.Append F1 '向数据添加这些字段T1.Fields.Append F2。
为了更加方便读者的使用本软件和节约读者宝贵的时间,特将读者使用软件后给我们反馈的问题处理办法总结如下,望读者能够从找到解决方案。 1、上机抽题后,无法打开考生文件夹的做题文件,系统总是提示我没有安装相应开发环境? 回答:安装本模拟软件后,考生还需要安装相应的考试环境。如一级考生需要安装Office 2010,二级VB考生需要安装Visual Basic 6.0开发环境,二级VF考生需要安装Visual FoxPro 6.0开发环境,二级ACCESS考生需要安装Access 2010,二级C、C++、三级网络技术、数据库技术、信息管理技术则需要安装Visual C++ 6.0开发环境。具体下载地址如下:http://ncre.eduexam.cn/down.asp?cid=40 或者http://yunpan.cn/QpndsNK3YGh9B;如果已经安装了环境本模拟软件还是无法识别的话,读者可以直接去考生文件夹下双击打开相应考生文件。其做题效果也是一样。 2、问题:做完题后点击交卷评分,但是总是得0分,我是按照书上解析做题的。 回答:需要根据题目要求运行软件,并生成相应文件,保存在考生文件夹内(这点非常重要) 3、问题:我在打开软件的时候,一进入模拟考试系统就会出现一个对话框,显示run time error 5 请问这是怎么回事?怎样解决?谢谢 回答:请到官网上下载补丁,具体下载地址:http://ncre.eduexam.cn/ncre.rar,或者http://yunpan.cn/QIJPiwR7E9p3B,下载后解压安装即可。 4、问题:Run -time error91 obiecvariable or t with block variable not set我买的一级B光盘不能评分,出现上面的情况望解决 回答:这个得看具体情况,一般情况下先安装framework 2.0以上版本(在安装模拟考试软件的时候会判断安装,请不要跳过),然后将软件所需控件注册一下即可,点击桌面上的“如果不能正常评分,请点击这里.bat”文件注册相应控件 5、问题:安装的三合一二级vb模拟软件上机部分无法运行,错误代码339 回答:请到官网上下载补丁,具体下载地址:http://ncre.eduexam.cn/ncre.rar,或者http://yunpan.cn/QIJPiwR7E9p3B,下载后解压安装即可。 6、问题:我买的是二级VF三合一,但是机试的光盘,每次做完题目后都不能看分数,说找不到RPOSS.mis的安装路径,请问怎么解决,解决不了,我这次机试就过不了了 回答:请到官网上下载补丁,具体下载地址:http://ncre.eduexam.cn/ncre.rar,或者http://yunpan.cn/QIJPiwR7E9p3B,下载后解压安装即可。 7、想问一下 为什么我的access评分时老是会说与查询命令不符啊?明明和答案解析和视频一样的啊,评分有误还是我错了 回答:评分完成后生成正确的答案,然后把答案复制到考生文件夹内,然后继续重做该题,这个时候考生文件夹内则是满分的答案,此时再交卷评分,看分数是否为满分,如果为满分,请仔细检查正确答案与你的答案的区别。 8、买了二级VF上机的光碟,我的系统是WIN7,然后装了光碟,打开程序但是不能正常使用 回答:请到官网上下载补丁,具体下载地址:http://ncre.eduexam.cn/ncre.rar,或者http://yunpan.cn/QIJPiwR7E9p3B,下载后解压安装即可。 9、三合一二级Visual FoxPro打开说是as97popup.ocx文件丢失或无效 回答:请到官网上下载补丁,具体下载地址:http://ncre.eduexam.cn/ncre.rar,或者http://yunpan.cn/QIJPiwR7E9p3B,下载后解压安装即可。 10、安装了VB的上机模拟软件,打开后显示 运行时错误-2147024769 (8007007f)Automation错误,请问该如何解决,谢谢 回答:请到官网上下载补丁,具体下载地址:http://ncre.eduexam.cn/ncre.rar,或者http://yunpan.cn/QIJPiwR7E9p3B,下载后解压安装即可。 11、安装时输入序列号以后,点击下一步软件就没有了,请问是为什么呀 回答:现在目前收集到的解决办法是,关掉电信的拨号软件,因为这个软件与我们软件有冲突 12、软件安装以后点击桌面快捷方式,显示找不到文件,是否删除此快捷方式? 回答:有些杀毒软件过于敏感,将安装的软件文件删除了,可以在安装的时候选择信任该文件,或者在安装后去杀毒软件添加信任该文件,并恢复文件即可。 13、打开软件后,软件显示一下立即自己关闭 回答:现在目前收集到的解决办法是,关掉电信的拨号软件,因为这个软件与我们软件有冲突 14、软件显示不完整,不能看到软件的全部界面? 回答:这个是因为系统的字体大小设置引起的,将系统字体的大小设置为100%显示即可 15、有些视频没有声音 回答:因为光盘大小的原因,如果视频都加入声音的话,整个安装文件会很大,光盘无法放下,一般情况下基础篇的视频都是有声音的,尽请读者谅解。 16、一级软件不能正常评分? 回答:首先请保证系统已经安装Office 2010软件,然后请单击桌面上的“如果不能正常评分请点击这里.bat”文件,将评分所需控件重新注册。如果还是不能解决问题,可以去网上下载一下Framework3.5安装包。安装后重新点击“如果不能正常评分请点击这里.bat”即可。 17、上机考试串讲视频无法正常观看? 回答:当点击 “启动上机考试串讲视频后”,会弹出一个网页,这个时候应当点网页上方。。。。。单击此处查看选项”,然后点击“允许阻止的内容”,则可以顺利观看视频。(部分科目无上机考试串讲视频) 18、错误430 解决的方法是: 1.找个相同系统的MSCOMCTL.OCX覆盖原来的文件。或者从网上下载一个。 2.在运行执行:regsvr32 /u c:\windows\system32\MSCOMCTL.OCX 3.在运行执行:regsvr32 c:\windows\system32\MSCOMCTL.OCX 19、错误 8007007e 和 运行时错误'3001':  Windows XP需要重装MDAC。 XP SP3系统MDAC怎么装。首先,需要有XP安装盘(我的系统就是XP SP3,其他的系统没试验过) 1、 点击【开始】-【运行】,输入【%windir%\inf】,点【确定】,其实这就是打开【C:\WINDOWS\inf】目录,也可以直接从【我的电脑】地址栏输入【C:\WINDOWS\inf】来打开; 2、找 到【mdac.inf 】这个文件,右键选【安装】; 3、第三步是噩梦了,最重要也最麻烦。安装时 你会发现你缺少很多系统文件,比如dao360.dll 、MDACRdMe.htm、mssoap1.dll 、wisc10.dll、mssoapr.dll。这里需要结合两种方法来解决。 其有 部分文件你可以选择【C:\Program Files\Common Files\System\msadc】或者【C:\Program Files\Common Files\System\ado】这两个目录去看看,这里有部分是能找到的。另外其它部分需要到网上去下载。(经过我的安装,发现除了MDACRdMe.htm这个文件其他的文件都可以在C:\Program Files\Common Files\的子目录下搜索到!这个MDACRdMe.htm其实是个没用的垃圾文件,我们自己创建一个同名的空白文件装进去就可以。) 4、 完成了噩梦般的第三步,MDAC重新安装就完成了。  Windows 7系统,目前只有重装系统 20、运行时错误:76 Path not found(或“路径没有找到”) 请在模拟考试软件安装盘的WEXAM文件夹下手动创建00000000文件夹。另外还要在WEXAM文件夹下根据自己的考试科目,一级创建15000001文件夹,VF创建27000001,VB创建26000001,C创建24000001,Access创建29000001。 21、错误:80004005 原因:数据库被破坏。 解决方法: 1、 卸载软件。要确定原来的文件完全卸载,检查一下提示框显示的那个路径下还有没有文件,有就说明没卸完全。手动删掉它。 2、 重新安装这个软件。 3、 或者换个位置重装安装。 22、错误800700c1 未知错误,暂时不明原因 23、错误 429 Active控件无法创建对象。可尝试用此http://yunpan.cn/QIJRh93RXhQX3修复。 另外还有一种方法见下面一条。 24、错误 800XXX5c 没有注册类别 解决方法: 重新安装MDAC。 WindowsXP系统在C:\windows\inf\MDAC.inf右击选“安装”,需要原始安装盘。 或者直接从网上下载MDAC安装程序。 Windows 7此方法无效,目前方法是重装系统。 25、错误 94:使用Null无效 数据有空记录,请与客服联系,告知是哪个科目的哪套试题。 26、错误 70:拒绝的权限 生成答案时,连击“生成答案”按钮造成,解决方法,请不要连续点击。 27、运行时错误 5 现象:一级MS启动时出现。二级在启动操作题单项时出现。程序正常安装,但注册点没有写入注册表,升级程序因此不能升级。 原因:未找到。 解决:考生不会装系统。原来安装的是QQ电脑管家。卸载电脑管家后安装360安全卫士,使用其的重装系统,后,系统正常。 注:如果还是不能解决问题的话,请将问题描述和问题截图发送到GetHelp@foxmail.com,或者请联系电话:010-82552277转825。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧