pb常用操作技巧Word文档下载推荐.docx
- 文档编号:16650859
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:47
- 大小:43.50KB
pb常用操作技巧Word文档下载推荐.docx
《pb常用操作技巧Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《pb常用操作技巧Word文档下载推荐.docx(47页珍藏版)》请在冰豆网上搜索。
ll_sqlcode=sqlca.sqlcode
ifll_sqlcode<
CLOSEcur_sql;
af_disconnect()
错误提示'
检索受理编号错误!
StopSign!
return
elseifll_sqlcode=100then
exit
ddlb_register_number.additem(trim(ls_register_number+'
|'
+ls_complete_note))
loop
CLOSEcur_sql;
//窗口open事件通用脚本
//置窗口居中
af_center_window(this)
//连接数据库
af_connect()
//定义变量
dataWindowChilddwc
//获取城市代码下拉列表并取值
dw_city_code.getChild('
city_code'
dwc)
dwc.setTransObject(sqlca)
dwc.Retrieve(gs_citycode,gi_citylevel)
dw_city_code.setTransObject(sqlca)
dw_city_code.Retrieve()
dw_city_code.setItem(1,'
dwc.getItemString(1,'
))
is_city_code=dw_city_code.getItemString(dw_city_code.getRow(),'
//获取业务类型下拉列表并取值
dw_service_kind.getChild('
service_kind'
dwc.Retrieve()
dw_service_kind.setTransObject(sqlca)
dw_service_kind.Retrieve()
dw_service_kind.setItem(1,'
10)
ii_service_kind=dw_service_kind.getItemNumber(dw_service_kind.getRow(),'
//获取申请事项下拉列表并取值
dw_apply_event.getChild('
apply_event'
dwc.Retrieve(ii_service_kind)
dw_apply_event.setTransObject(sqlca)
dw_apply_event.Retrieve()
dw_apply_event.setItem(1,'
dwc.getItemNumber(1,'
ii_apply_event=dw_apply_event.getItemNumber(dw_apply_event.getRow(),'
//激发查询事件
cb_query.TriggerEvent(clicked!
//断开数据库
af_disconnect()
//查询按钮通用脚本
//dw_1检索数据
dw_1.setTransObject(sqlca)
dw_1.Retrieve(ii_service_kind)
//dw_2检索数据
intli_row,li_row_temp
dw_2.getChild('
action'
dw_2.setRowFocusIndicator(hand!
dw_2.setTransObject(sqlca)
li_row_temp=dw_2.Retrieve(ii_apply_event,ii_service_kind,is_city_code)
dw_2.scrollToRow(li_row_temp)
//如果未检索到数据插入一空行,有数据就过滤
stringls_filter
intli_action
ifli_row_temp=0then
dw_2.insertRow(0)
else
forli_row=1todw_2.rowCount()
li_action=dw_2.getItemNumber(li_row,'
ls_filter='
action<
'
+string(li_action)
dw_1.setFilter(ls_filter)
dw_1.filter()
next
endif
//增加按钮通用脚本
//变量定义
intli_step,li_action,li_auto_status,li_row
//确认选择要增加的记录
ifdw_1.getSelectedRow(0)=0then
MessageBox('
提示信息'
请选择要添加的记录!
//取出要增加的信息
li_step=dw_2.getItemNumber(dw_2.getRow(),'
step'
li_action=dw_1.getItemNumber(dw_1.getSelectedRow(0),'
li_auto_status=dw_1.getItemNumber(dw_1.getSelectedRow(0),'
auto_status'
)
//添加信息
li_row=dw_2.insertRow(0)
dw_2.setItem(li_row,'
li_step)
li_action)
li_auto_status)
dw_2.scrollToRow(li_row)
//删除按钮通用脚本
//删除前先确认
IFdw_2.GetRow()=0THEN
请选择要删除的记录!
Return
ELSE
IFMessageBox("
提示信息"
"
确实要删除指定的记录?
Question!
YesNo!
2)=2THENReturn
dw_2.DeleteRow(dw_2.getRow())
ENDIF
//保存按钮通用脚本
stringls_city_code,ls_error
intli_service_kind,li_apply_event,li_row,li_step
//检测数据是否发生变化
dw_2.AcceptText()
IFdw_2.ModifiedCount()+dw_2.DeletedCount()=0THEN
MessageBox("
操作提示"
数据未发生变化,无需保存!
//检测是否为空或零
dw_2.setSort('
stepa'
dw_2.sort()
FORli_row=1TOdw_2.RowCount()
li_step=dw_2.GetItemNumber(li_row,'
IFIsNull(li_step)ORli_step=0THEN
操作提示'
步骤不能为空或零,请重新输入!
dw_2.setRow(li_row)
ENDIF
NEXT
//保存
dw_2.SetTransObject(sqlca)
ifdw_2.update()=1then
commit;
messagebox("
保存成功!
dw_2.ScrollToRow(dw_2.RowCount())
ls_error=sqlca.sqlErrText
rollback;
保存失败!
+char(13)+ls_error,stopSign!
//打印按钮通用脚本
ifdw_1.rowCount()>
ifPrintSetup()=-1then
打印机设置出错!
Exclamation!
else
ifdw_1.print(true)=1then
//显示可以取消打印的对话框
Messagebox('
打印成功!
打印失败!
stopSign!
没有数据可以打印,请先查询数据!
//导出按钮通用脚本
ifdw_1.rowcount()<
=0then
messageBox('
没有数据可以导出,请先查询!
ifdw_1.SaveAS('
text!
true)=1then
导出成功!
//导入按钮通用脚本
stringls_pathfile,ls_file,ls_title,ls_ext,ls_filter
int
li_pos,li_fileid
long
ll_buffer
//变量赋值
ls_title="
请选择数据文件"
ls_ext="
txt"
ls_filter="
文本文件(*.txt),*.txt,全部文件(*.*),*.*"
li_fileid=GetFileOpenName(ls_title,ls_pathfile,ls_file,ls_ext,ls_filter)
if(li_fileid=0orls_file="
)then
sle_file_name.text=ls_pathfile
cb_ok.enabled=true
//退出按钮通用脚本
close(parent)或closeWithReturn(parent,returnvalue)
//调用过程通用脚本
ifdw_wp.rowcount()<
=0thenreturn
string
ls_sql,ls_err_info
ls_register_number,ls_accept_city,ls_department,ls_oper_person
integer
li_err_code,li_apply_event
ls_register_number=dw_wp.getitemstring(1,'
register_number'
ls_accept_city=gs_citycode
li_apply_event=dw_wp.getitemnumber(1,'
ls_department=gl_dealerid
ls_oper_person=gs_workerid
//调用配号撤单过程
executebb_pstn_assign_no_repeal_p(?
?
)"
declareproc_assign_no_repealdynamiccursorforsqlsa;
opendynamicproc_assign_no_repealusing:
ls_accept_city,:
li_apply_event,:
ls_department,:
ls_oper_person;
ifsqlca.sqlcode=-1then
ls_err_info=sqlca.sqlErrText
closeproc_assign_no_repeal;
Rollback;
Messagebox("
错误信息1"
执行异常!
+ls_err_info,stopSign!
Endif
fetchproc_assign_no_repealinto:
li_err_code,:
ls_err_info;
ifli_err_code<
错误信息2"
endif
closeproc_assign_no_repeal;
commit;
//撤单成功后打印工单
dw_wp.print()
//PB某些控件的中文显示问题
假如PB的ListView不能正常显示中文,则应该将ListView的FontCharSet属性设置成其他类型。
将
ListView所在的对象Export成源码。
在源码中找到ListView定义部分,将FontCharSet属性该成
DefaultCharSet!
如果PB的其他控件也发生相应的现象时,同样调整一下它的FontCharSet属性。
一般
来说对于简体中文字体,在中文WINDOWS环境中应该设置成DefaultCharSet!
。
对显示中文有问题的控件
将它的FontChatSet属性强制设置成DefaultCharSet!
应该没有问题。
或者改变字体!
!
//PB6.5运行时动态连接库(RuntimeLibrary)
PBVM60.DLL(PowerBuilder虚拟机)(必需)
PBDWE60.DLL(DataWindow引擎)(可选)
PBRTC60.DLL(RichTextControl)(可选)
PBTRA60.DLL(DLLusedfortracingdbcalls)(可选)
与所需连接的数据库的直连接口(NativeDriver)或ODBC接口(ODBCDriver)
PBSYC60.DLL(连接Sybase的直连接口)
PBO7360.DLL(连接Oracle7.3的直连接口)
所需连接的数据库的Client端(如Sybase的OpenClient,Oracle的SQLNet)
以上是Sybase公司的建议。
我的经验是,编译好的程序必须有pbdwe60.dll和pbvm60.dll才行。
另外,如果使用ODBC联结数据库则还需pbodb60.dll,如果使用的专用接口,则需对应数据库的DLL,
如Oracle7.3用PBO7360.DLL,Sybase用PBSYC60.DLL
//pb6.5升级到6.5.1后exe文件执行可能出现问题
重新拷贝\Sybase\Shared下的pbvm60.dll(3.24M)代替未升级时pbvm60.dll(3.25M)就ok了!
//几个常用颜色
红:
rgb(255,0,0)
醒目或改变作用
蓝:
rgb(0,0,255)
注意作用
深绿:
rgb(0,128,0)
提示作用
//SQLAnyWhere安装方法:
在安装PB65时的自定义安装中组件ODBCDatabasesDrives里的SybaseSQLanywhere5.5.04,这只是
安装了PB组件的ODBC驱动程序,并未安装SQLANYWHERE,如果你需要使用SQLAnywhere的管理工具,你
还得进行如下的操作:
在正版PB6.5的第六张盘里,有一目录名是SQLANY5504,这里面就是SQLANYWHERE
的安装盘了,运行SETUP即可。
如果是盗版,那只好靠你自已去找了。
在安装目录下有一个SETUP.BMP,
上面有SQLANHWERE字样。
//很多书上讲到FILE菜单中点CREATEDATABASE,怎么能让这个选项出来?
在pb第六张光碟(或使用D版第二张碟\6\sqlany5504),进入sqlany5504目录,安装sqlanywhere5.5,
默认安装路径为:
C:
\ProgramFiles\Sybase\SQLAnywhere5.0\win32,安装完成以后,修改
autoexec.bat,增加一行,用于将sqlanywhere的文件放到系统搜索路径中:
path%PATH%;
C:
\Progra~1\Sybase\SQLAny~1.0\win32
这样重新启动后,你就可以看到File菜单下多出了CreateDatabase这一项。
特别说明:
在...\win32此目录下有一个很重要的文件,dbtl50t.dll,你可以做一个实验,进入
PBDataBase画板(不需要退出),然后切换到文件管理器中将dbtl50t.dll文件给改名,再切换回PB中,
点File菜单,你将会发现CreateDatabase这一项又消失了。
将dbtl50t.dll改名回来,回到PB中再点此
File菜单,一切又恢复正常。
不过没有CreateDataBase这一项都不是很重要,您还可以使用
SybaseCentral来管理数据库,它才是Sqlanywhere数据库的全面管理工具,可以建存贮过程,触发器。
(在"
开始"
->
程序"
Sybase"
Sqlanywhere5.0"
下面,在硬盘中的执行文件名是scview.exe).
//不安装Oracle客户连接Oracle8的方法
请将以下文件拷贝到运行文件所在目录
一、ODBC动态库:
ctl3d32.dllmsvcrt40.dllodbc16gt.dllodbc32.dllodbc32gt.dllodbccp32.dllodbccr32.dllodbcint.dll
二、建立EXTRA子目录,将MSVCRT.DLL文件拷贝到该子目录下
EXTRA\MSVCRT.DLL
三、ORACLE动态库及配置文件
Tnsnames.oraCORE35O.DLLNASNSNT.DLLNAUNTSNT.DLLNCRNT.DLLNlnt.dllNLSRTL32.DLLNnfdnt.dll
NNFNNT.DLLNSNT.DLLNTNT.DLLNTTNT.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pb 常用 操作 技巧