源码介绍
Yuer PB经典CHM
动态创建数据存储
用SQL语句动态创建DataStore,然后从DataStore中掏出数据。
DataStore ldst_temp
String ls_sql
String ls_style
String ls_erorrs
String ls_syntax
ldst_temp = Create DataStore
ls_sql = 'select ..................'
ls_style = 'style(type=grid)'
ls_syntax = SQLCA.SyntaxFromSQL(ls_sql,ls_style,ls_erorrs)
IF Len(ls_errors) > 0 THEN
MessageBox('毛病','asll................')
ELSE
ldst_temp.Create(ls_syntax,ls_errors)
IF Len(ls_errors) < 1 THEN
ldst_temp.SetTransObject(SQLCA)
ldst_temp.Retrieve()
//然后,你爱怎么读取数据就怎么读取了。何等方便啊。
ELSE
MessageBox("错了",'有错就该,就是好同志吗!')
END IF
END IF
ASA数据库没法连接小解
经常在论坛看到有的人问这样的问题。致使ASA数据库没法连接的问题有以下几种:
1、ODBC配置毛病。没有配置数据源,数据库的用户名或口令毛病等都会致使数据库没法连接。
解决的措施:检查数据源的配置,如果没有在ODBC中配置数据源则按照向导增加数据源即可;口令毛病只需改成正确的即可。
2、连接时提醒LOG资料毛病。这样的问题大多出现在重装系统后、源码移植到其余系统、数据库资料路径改变之后。
解决的措施:在创建ASA数据库的时候不创建LOG资料,如果已经创建了LOG资料则能够利用PB自带的工具Sybase central往来来往掉LOG资料和数据库资料的联系关系。操作步骤以下:
a)启用Sybase central在左侧的树型目录中选择Utilities;
b)双击右侧出现的条目中的change log file settings,直接next;
c)点Browse选择需要去除log资料的数据库资料,选好后next;
d)这里你会看到一些数据库的信息,log资料名,资料巨细等。next;
e)去掉Maintin the following transaction log file前面的对勾,Finish;
f)配置ODBC连接数据库就能够了。
3、数据库资料损坏。此类毛病一般不罕见,可能由于病毒破坏或误操作引起。
解决的措施:如果以前有备份用备份资料笼罩原资料即可,如果没有备份资料就只可重新建库了!
递归实现替换或删除指定的字符串(作者不详)
替换或删除指定的子串(相当于Replace的应用),以递归方式实现
函数定义:
f_replace_string(String ls_old Value ,String ls_replace Readonly,String ls_with Readonly)
程序源码以下:
String ls_new
Integer li_find
li_find = Pos(ls_old, ls_replace)
IF li_find > 0 THEN
ls_new = Left(ls_old, li_find -1) ls_with Mid(ls_old, li_find Len(ls_replace))
Return(f_replace_string(ls_new,ls_replace,ls_with))
ELSE
Return(ls_old)
END IF
在函数中如要删除子串,第三个参数可为空串("")