社区
PowerBuilder
帖子详情
有关PB与文本的问题,高分!!!
tomcat007
2003-12-16 08:49:54
是这样的,我做了个东西是操作远程数据库的,我想实现这么一个功能.就是在程序安装完成第一次运行的时候要求用户通过图形界面配置服务器地址,帐号等,然后把这些信息保存到*.ini中这样以后程序运行的时候就不用配置数据库了.如果数据库服务器改变的话只要重新配置一下就行了.怎么实现呢?
回答越详细分越高!
...全文
28
19
打赏
收藏
有关PB与文本的问题,高分!!!
是这样的,我做了个东西是操作远程数据库的,我想实现这么一个功能.就是在程序安装完成第一次运行的时候要求用户通过图形界面配置服务器地址,帐号等,然后把这些信息保存到*.ini中这样以后程序运行的时候就不用配置数据库了.如果数据库服务器改变的话只要重新配置一下就行了.怎么实现呢? 回答越详细分越高!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zzr72
2003-12-20
打赏
举报
回复
l***是local
*i***是integer
g***是globle
*s**是string
jeff_107
2003-12-20
打赏
举报
回复
我倒,拜托楼主下个例程去研究一下撒!
tomcat007
2003-12-20
打赏
举报
回复
具体点好吗?
我刚刚学习.
还有li_FileIn ,gs_connectfile都是什么变量类型啊?
zhangdatou
2003-12-20
打赏
举报
回复
ding
bomber2001
2003-12-20
打赏
举报
回复
自动创建自测表,和阿
bunnysky
2003-12-20
打赏
举报
回复
为你提供了两个函数:
1、f_connect 该函数自动从配置文件中取得数据库参数,连接数据,如果连接失败,则打开w_setup窗口设置数据库参数
2、f_SetProfile 该函数将新的参数写入配置文件
/*********************************************************************************************************************
**name:f_connect 初始化
**arg:none
**return:none
**modify:20030825
**********************************************************************************************************************/
string ls_ServerName ,ls_LogId,ls_LogPass,ls_mainini
ls_mainini = "test.ini" //配置文件名,可以包含路径
SQLCA.ServerName = profilestring(is_mainini,"database","ServerName","")//数据库服务名
SQLCA.LogId = profilestring(is_mainini,"database","LogId","") //登陆名称
SQLCA.LogPass = profilestring(is_mainini,"database","LogPass","") //登陆密码
connect using SQLCA;
if sqlca.sqlcode <> 0 then
messagebox('错误','~r~n1:数据库连接失败.~r~n2:错误编码:' + string(sqlca.SQLDBCode) +'错误名称:' + sqlca.SQLErrText + '请点【高级】按钮从新配置数据连接!' ,StopSign!)
open(w_setup); //如果连接数据库错误,打开数据库参数设置窗口
end if
/*****************************************************************************************************************
**name:f_SetProfile 设置配置文件
**arg:none
**return:integer
**modify:20030825
******************************************************************************************************************/
string ls_ServerName,ls_LogId,ls_LogPass
long ll_return
string ls_mainini
ls_mainini = "test.ini" //配置文件名,可以包含路径
ls_ServerName = sle_1.text
ls_LogId = sle_2.text
ls_LogPass = sle_3.text
ll_return = SetProfileString(ls_mainini ,'DataBase','ServerName', ls_ServerName)
ll_return = SetProfileString(ls_mainini ,'DataBase','LogId', ls_LogId)
ll_return = SetProfileString(ls_mainini ,'DataBase','LogPass', ls_LogPass)
if ll_return <> 1 then
messagebox('提示','更新配置文件失败,请确认配置文件是否是只读的!')
end if
return 1
******************************************************************************************************************/
test.ini文件内容
******************************************************************************************************************/
[DataBase]
DBMS=O84 ORACLE 8.1.7
#username为登录数据库时使用的用户名
LogId=username
#passwd为对应于username用户的数据库口令
LogPass=passwd
#数据库名
ServerName=TestDatabase
qianfl
2003-12-19
打赏
举报
回复
ProfileString ( filename, section, key, default )
这就是读取用的
tomcat007
2003-12-19
打赏
举报
回复
如何读取啊?
tomcat007
2003-12-18
打赏
举报
回复
是挺详细的,先谢谢大家了.
但是怎么读取呢?
eminena
2003-12-17
打赏
举报
回复
窗口上,加一个tab,在 tab 的 上 tabpage_1 加 5 个 sle, 一个按钮 cb_1(保存)
其中各 sle 用来输入:
sle_1:数据库系统
sle_2:服务器名称
sle_3:数据库名
sle_4:登录用户名
sle_5:登录密码
代码中的 slhis.ini 为配置文件名.
在窗口的 Open 事件中:
tab_1.tabpage_1.sle_1.text = sqlca.DBMS
tab_1.tabpage_1.sle_2.text = sqlca.ServerName
tab_1.tabpage_1.sle_3.text = sqlca.Database
tab_1.tabpage_1.sle_4.text = sqlca.LogId
tab_1.tabpage_1.sle_5.text = sqlca.LogPass
在 cb_1的 单击事件中:
transaction tran_try
/////////////////////////////////////
tran_try = create transaction
tran_try.dbms = tab_1.tabpage_1.sle_1.text
tran_try.servername = tab_1.tabpage_1.sle_2.text
tran_try.database = tab_1.tabpage_1.sle_3.text
tran_try.logid = tab_1.tabpage_1.sle_4.text
tran_try.logpass = tab_1.tabpage_1.sle_5.text
connect using tran_try;
if tran_try.sqlcode <> 0 then
messagebox('提示信息','修改的数据库连接失败,请按取消或恢复按钮!')
closewithreturn(w_login,0)
ib_ok = false
else
if tran_try <> sqlca then
disconnect using sqlca;
disconnect using tran_try;
sqlca.dbms = tran_try.dbms
sqlca.servername = tran_try.servername
sqlca.database = tran_try.database
sqlca.logid = tran_try.logid
sqlca.logpass = tran_try.logpass
connect using sqlca;
closewithreturn(w_login,1)
setprofilestring ("..\slhis.ini","database","dbms",tab_1.tabpage_1.sle_1.text)
setprofilestring ("..\slhis.ini","database","servername",tab_1.tabpage_1.sle_2.text)
setprofilestring ("..\slhis.ini","database","database",tab_1.tabpage_1.sle_3.text)
setprofilestring ("..\slhis.ini","database","logid",tab_1.tabpage_1.sle_4.text)
setprofilestring ("..\slhis.ini","database","logpass",tab_1.tabpage_1.sle_5.text)
end if
ib_ok = true
end if
destroy tran_try
xiongxiao
2003-12-17
打赏
举报
回复
注意注册表也要改
liliang800207
2003-12-17
打赏
举报
回复
学学
lywangyong
2003-12-17
打赏
举报
回复
sqlca.logid = ProfileString (gs_connectfile,'Database', "LogId", "")
sqlca.logpass = ProfileString (gs_connectfile,'Database', "LogPassword", "")
这两句这样用用户名和口令都是写到文件里的,会有安全性问题的,这两句不建议使用。
workhand
2003-12-17
打赏
举报
回复
你就用一个应用完成吗?那用楼上的写文件的方法就可以了。
我们是用单独的一个小应用来配置ini的
qianjia
2003-12-17
打赏
举报
回复
界面是你自已设计
你把用户的信息保存到INI文件去就可以
intuition444
2003-12-17
打赏
举报
回复
只能帮你UP一下了!
python与大数据分析
2003-12-17
打赏
举报
回复
首先从界面中获取ls_servername,ls_dbname,ls_username的值
通过写文件的方式
li_FileIn = FileOpen(gs_connectfile, LineMode!, write!, LockWrite! ,Replace! )
gs_connectfile="[Database]"
gs_connectfile=gs_connectfile+"~r~nDBMS=MSS Microsoft SQL Server 2000"
gs_connectfile=gs_connectfile+"~r~nServerName="+ls_servername
gs_connectfile=gs_connectfile+"~r~nDatabase="+ls_dbname
gs_connectfile=gs_connectfile+"~r~nLogId="+ls_username
gs_connectfile=gs_connectfile+"~r~nLogPassword="+ls_password
gs_connectfile=gs_connectfile+"~r~nBackupPath="
FileWrite(li_Filein, gs_connectfile)
fileclose(li_Filein)
最后
sqlca.DBMS = ProfileString (gs_connectfile,'Database', "DBMS", "")
sqlca.DBMS = ProfileString (gs_connectfile, "database", "dbms", "")
sqlca.database = ProfileString (gs_connectfile,'Database', "Database", "")
sqlca.logid = ProfileString (gs_connectfile,'Database', "LogId", "")
sqlca.logpass = ProfileString (gs_connectfile,'Database', "LogPassword", "")
sqlca.servername = ProfileString (gs_connectfile,'Database', "ServerName", "")
sqlca.autocommit = False
sqlca.dbparm =''
treesoft
2003-12-17
打赏
举报
回复
楼上几位写得真详细啊! :)
mittee
2003-12-16
打赏
举报
回复
ProfileString ( filename, section, key, default )
SetProfileString ( filename, section, key, value )
完全满足要求
人工智能-项目实践-知识蒸馏-基于 Tensorflow,仿 Scikit-Learn 设计的深度学习自然语言处理框架
兼容 Tensorflow1.x/2.x 的高层封装 (Transformer/GPT-2/BERT/ALBERT/UniLM/XLNet/ELECTRA 等),使用简单的代码完成语言模型/
文本
分类/
文本
生成/命名实体识别/机器阅读理解/机器翻译/序列标注/知识蒸馏任务。...
unif:仿 Scikit-Learn 设计的深度学习自然语言处理框架, 支持约 40 种模型类, 涵盖语言模型、
文本
分类、NER、MRC、机器翻译等各个领域
特性API 简单:三行代码完成训练及推理,并一键设置多进程/多 GPU 并行品类丰富:支持约 40 种模型类
高分
保证:提供分层学习率、对抗式训练等多项训练技巧可供部署:导出模型
PB
文件,供线上部署安装git clone ...
ELK/ELFK(7.3 ) 企业
PB
级日志系统实战
包含的组件有Filebeat,Logstash,Elastic,Kibana等 本堂课引入Kafka 让Elastic Stack 能适应企业
PB
级的业务日志量 并弥补传统ELk架构的不足 ★ 学完这门课程会获得什么? 首先从零开始教你部署Elastic...
基于Bert预训练模型微调命名实体识别项目python源码+使用说明+模型(支持docker部署).zip
该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,...
leaflet使用手册
谷歌交通地图地址:http://www.google.cn/maps/vt/
pb
=!1m4!1m3!1i{z}!2i{x}!3i{y}!2m3!1e0!2sm!3i380072576!3m8!2szh-CN!3scn!5e1105!12m4!1e68!2m2!1sset!2sRoadmap!4e0!5m1!1e0, 平面图地址2:...
PowerBuilder
1,077
社区成员
66,438
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章