首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 计算机等级考试 > 计算机二级 > VB > 复习资料 > 正文

非access数据库在vb中的编程及应用复习资料

 

  使用非access数据库时的参数设置及配置文件的参数读取

  如果在vb的程序中使用了数据库的操作,将应用程序生成exe文件或打包生成安装程序后,则必须提供一个配置(.ini)文件,在ini文件中可以对不同类型的数据库进行设置。如果找不到这个ini文件,将会导致不能访问数据库。通常情况下,ini文件的文件名和应用程序的名称相同,所以如果没有指明,vb的程序会在windows子目录中去找和应用程序同名的ini文件。可以使用vb中的setdataaccessoptions语句来设置ini文件。

  setdataaccessoptions语句的用法如下:

  setdataaccessoptions1,inifilename

  其中inifilename参数指明的是ini文件的带路径的文件名。设为首页值得注意的是,当应用程序找不到这个ini文件时,或在调用opendatabase函数时对其connect参数值没有设定为vb规定的标准值,如对foxpro2.5格式设定为了“foxpro;”(应为“foxpro2.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 )

  end function

  以下这些函数的声明可写在模块文件内,且每个函数的声明必须在一行内

  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

  相关推荐:2009年4月计算机等级二级考试VF程序设计辅导
       C语言辅导三种常见的中文内码的转换方法
       计算机等考二级C语言考前复习资料(for循环)
文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。