PB powerbuilder中使用datastore替代游标

游标和datastore的处理效率对比,datastore有明显优势。

datastore代码:

string ls_temp,ls_get,ls_empname

Long ll_rowcnt

time lt_1

int i

datastore ds_temp

ddlb_1.reset()

string ERRORS, sql_syntax

string presentation_str, dwsyntax_str

sql_syntax = "SELECT emp_name FROM EMPLOYEES "

presentation_str = "style(type=grid)"

dwsyntax_str = SQLCA.SyntaxFromSQL(sql_syntax, presentation_str, ERRORS)

IF Len(ERRORS) > 0 THEN

MessageBox("Caution", "SyntaxFromSQL caused these errors: " + ERRORS)

RETURN

END IF

 

ds_temp = Create datastore

ds_temp.Create( dwsyntax_str, ERRORS)

IF Len(ERRORS) > 0 THEN

MessageBox("Caution", "Create cause these errors: " + ERRORS)

RETURN

END IF

 

 

ds_temp.settransobject(sqlca)

ds_temp.retrieve()

ll_rowcnt = ds_temp.rowcount()

For i=1 To ll_rowcnt

ls_empname = ds_temp.object.emp_name[i]

ddlb_1.additem(ls_empname)

Next

 

另外,datastore还可以完成一些更复杂的逻辑,以及更自由的数据读取,所以PB开发中是可以使用datastore替代游标的。

posted @ 2020-01-11 11:37  最爱刘若英  阅读(517)  评论(0编辑  收藏  举报