PB9.0和.INI文件
Vb.net和C#开发时我们学习过用配置文件来保存数据库连接的属性,这样可以方便我们更换移植数据库,提高软件的生存能力。那么Pb9.0也有类似的机制来实现,即.ini文件。
什么是.ini文件?
.ini文件是InitializationFile的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式。ini文件有节、键、值构成。其中节是区分标志,因为一般初始化文件需被程序不同的模块所公用,用节为不同的模块做出标记,用中括号([])表示。然后键值对存储属性。ini文件和配置文件提供了一样的功能。下图是一个实例:
使用机制
PB9.0提供了一个函数:ProfileString,用来读取配置文件中的内容。其使用格式如下:ProfileString("filename","section",key","default")。四个参数分别为:文件名,节,键,和在找不到信息时的反馈信息。这里需要注意的是,需要把ini文件放在程序目录下。将读取到的值分别赋给对应的SQLCA对象的属性,然后using sqlca就成了。
Ini文件的编辑
ini文件的结构简单,可以自己手动去写,新建一个文本文件然后保存为.ini文件就好了。当然是要细心一些了。另外Pb9.0中可以生成ini文件,在用Dbprofile建立了数据库连接的基础上。步骤如下:
1)在PB中连接到目的数据库,然后点击右键,选择“Export Profile(s)”,在弹出的“ExportProfile(s)”窗口中已经默认选中了当前连接的数据库,直接点击“OK”。
2)在弹出的“Select ProfileFile”窗口中选择ini文件的路径,一般就是程序的目录下,填写ini文件的名字,譬如STEPB,就会生成一个STEPB.ini的文件.重复一次,别忘了把.ini文件放到程序目录下。
调用时的代码
//从初始化文件中读取SQLCA属性,利用名为STEPB的ODBC数据源链接数据库SQLCA.DBMS=ProfileString("STEPB.INI","Database","DBMS","")
SQLCA.Database=ProfileString("STEPB.INI","Database","DataBase","")
SQLCA.LogID=ProfileString("STEPB.INI","Database","LogID","")
SQLCA.LogPass=ProfileString("STEPB.INI","Database","LogPassWord","")
SQLCA.ServerName=ProfileString("STEPB.INI","Database","ServerName","")
SQLCA.UserID=ProfileString("STEPB.INI","Database","UserID","")
SQLCA.DBpass=ProfileString("STEPB.INI","Database","DatabasePassword","")
SQLCA.Lock=ProfileString("STEPB.INI","Database","Lock","")
SQLCA.DbParm=ProfileString("STEPB.INI","Database","DbParm","")//链接数据库
connect using SQLCA;//对错误情况进行处理
if SQLCA.SQLCode<0 then //链接数据库失败MessageBox("数据库链接失败!",SQLCA.SQLErrText,StopSign!,Ok!)
elseopen(W_login) //数据库链接成功,转到登录窗体
end if
结语:ini文件的使用和之前的配置文件是一样的功能,都是为了方便的更换数据库而将配置数据库连接的属性都独立的程序外。那么实际上ini文件的使用不仅仅这里,有人提议说也可以将SQL语句存储于ini文件中。但是因为SQL语句使用的频率很高而且对程序的安全影响也比较大,虽然说在程序的灵活性上可能会有所优化,但是对安全性的破坏还是比较严重,个人觉得。
PB9.0和.INI文件相关推荐
- Windows10下VB6.0开发——ini文件存储参数信息
前言:在使用VB编写上位机程序时,想要实现一个功能--每次修改Text文本框中的值后,使得关闭程序后该数值能够保存,在下次打开时可以直接使用.本文介绍了INI文件对该功能的支持. 1.INI文件 ...
- delphi ini文件的基础读写。
2019独角兽企业重金招聘Python工程师标准>>> 1.在程序的exe下建立test.ini文件,文件内容如图所示: 2.新建一个按钮,并写入以下代码: unit Unit1;i ...
- qt ini文件的读、写、删除
//目前实测的的qt的[section]和[parameter]是通过/隔开的 //配置文件路径 QSettings config = new QSettings(QApplication::appl ...
- mysql8.0.18ZIP版下载与安装(以及无my-default.ini文件和data文件夹的解决方法)
mysql8.0.18ZIP版下载与安装(以及无my-default.ini文件和data文件夹的解决方法) 参考文章: (1)mysql8.0.18ZIP版下载与安装(以及无my-default.i ...
- INI文件读写--VC6.0
新建一个dialog based MFC Windows Application,命名为:d, 界面为: 为按钮Read和Write添加单击事件,并自定义一个函数GetIniFileName()用来取 ...
- 在Windows mobile 5.0下操作INI文件
对于Windows mobile 5.0来说没有像window那样操作INI文件的API,所以只能自已来实现.其实操作INI文件就是操作普通的文本文件,只是要麻烦一些.以下是我实现的一些常用的操作的函 ...
- 双系统启动boot.ini文件的秘密
Windows NT类的操作系统,也就是Windows NT/2000/XP中,有一个特殊文件,也就是"BOOT.INI"文件,这个文件会很轻松地按照我们的需求设置好多重启动系统. ...
- .net精简框架集下的ini文件读取(C#)
无论是.net框架集还是.net精简框架集都能非常完美的支持XML文件,并且微软也强烈建议用xml文件取代ini文件,但是在工控领域大部分的工程都是采用ini文件配置的系统信息的. 以前的隧道管理系统 ...
- vc中常用文件操作(二) Ini文件操作
在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINA ...
最新文章
- ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS
- lnmp mysql 哪个好_lamp与lnmp的选择
- php实现socket
- rust种的南瓜为什么老是消失_冷天早餐别将就,用南瓜和萝卜这样做,鲜香松软,营养好吃又管饱...
- MongoDB Aggregation聚合操作
- 京瓷m1025维修模式进不去_多个品牌复印机进入维修模式步骤大全
- Unity3D Shader系列之深度纹理
- python snownlp了解_分享python snownlp的实例教程
- python 抓百度招聘信息,将搜索结果解析下来,用来跟踪招聘趋势数据,免费数据变为有用的东东
- 利用随机森林进行特征选择
- 数据链路层学习之LLDP
- AAM(Active Appearance Model)算法介绍
- 魔兽怀旧卓越服务器微信,魔兽怀旧服玩家吐槽:没有了工作室后,永久60级服务器一地鸡毛...
- MODIS反射率产品MOD09GA、MYD09GA的下载与使用
- 将图片放大不失真,保持清晰度不变的方法
- preprocess
- deepwalk配置与使用
- puzzle(0334)纸面魔方
- 常见的网络攻击及解决方案(附源码)
- 鸿蒙处理器要比骁龙好吗,骁龙662与天玑800u谁更好 骁龙662处理器相当于麒麟多少...
热门文章
- ROS系统安装(转)
- Android 个人相册图片拖拽排序
- 安卓15作业 - 制作个人相册
- 游泳耳机哪个牌子好、五款游泳听音乐最好的耳机推荐排行
- 爱情日记12月底整理版
- 机械制图要学计算机吗,我是学计算机的,没有CAD基础,应如何学习CAD机械制图?...
- Python——根据散点数据绘制三维曲面图( meshgrid函数以及Axes3D [plot_surface] )
- java 买票_java 多线程之synchronized wait/notify解决买票问题
- WebMagic 抓淘客助手数据
- 惠普服务器系统官网首页,惠普更新Integrity服务器操作系统HP-UX