百付通支付平台:PB中有关ddlb和datastore的小问题

来源:百度文库 编辑:高考问答 时间:2024/04/29 02:54:24
我想用三个ddlb控件来实现大中小分类的选定:
用户实际使用时,在ddlb_1中,从11,12,...,20选定一个(大类编号)
比如12
然后点击ddlb_2时,需要显示1211,1212,1213,...1299,然后从中选一个(中类编号)
比如选择1211
...
最后得到分类代码(比如说121156),再对其进行操作

现在我在ddlb_1的constructor事件中建立了datastore--ldt_1,实现了点击ddlb_1,列出相应的编号
但处理ddlb_2时遇到了困难:我在ddlb_2中建了datastore--ldt_2,constructor事件的代码如下:
string tmp_a

tmp_a=Left(ddlb_1.text,2)
//messagebox("",tmp_a)
Datastore ldt_2
ldt_2 = Create Datastore
ldt_2.Dataobject = "d_category_b"
ldt_2.SetTransObject(SQLCA)
ldt_2.Retrieve(tmp_a)
Long ll_row,ll_total
ll_Total = ldt_2.RowCount()
If ll_Total<=0 Then
Destroy(ldt_2)
Return
End If
For ll_Row = 1 To ll_Total
This.AddItem(ldt_2.GetItemString(ll_row,1)+" "+ldt_2.GetItemString(ll_row,2))
End For
Destroy(ldt_2)

但点击ddlb_1选择某编号后,点击ddlb_2无法列出预想的中类编号.
我试着把tmp_a=Left(ddlb_1.text,2)改成tmp_a='12',或者把ldt_2.Retrieve(tmp_a)改成ldt_2.Retrieve('12'),都可以在ddlb_2下列出

又尝试加了句messagebox("",tmp_a),结果是运行即弹出对话框(无提示)

请高手指点问题出在哪里呢?
谢谢!

你把SQL命令用字符串生成一下试试。用retrieve()加参数以前没试过。
我估计retrieve()这样不行。
我感觉在数据窗口的条件下,那些参数,在编辑存盘时好象就有一个处理过程,用纯手工做的东西系统在接受起来比较困难。
你试试吧,不行就没辙了。

你把SQL命令用字符串生成一下试试。用retrieve()加参数以前没试过。
我估计retrieve()这样不行。
我感觉在数据窗口的条件下,那些参数,在编辑存盘时好象就有一个处理过程,用纯手工做的东西系统在接受起来比较困难。