PB中setfilter()函数问题求教?---谢谢版主的回答,问题已经解决了!高兴
在数据窗口中第一列:列名 STU_ID 为char型
如何用setfilter()函数显示单行文本框中指定学号的详细信息?
格式应该怎么写?请知道的朋友,告诉下,谢谢啦!
我写的老是说类型不匹配,向高手求救!
问题补充:这是我"检索"中的程序代码,请大家看看,错在哪里了?
string l
l=trim(sle_1.text)
dw_1.setfilter("t_student.stu_id =" + l + "" )
dw_1.filter()
[[it] 本帖最后由 dangmiao 于 2008-4-2 11:36 编辑 [/it]] dw_1.setfilter("t_student.stu_id ='" + l + "'" ) [quote][bo]以下是引用 [un]wsl000[/un] 在 2008-3-31 21:46 的发言:[/bo]
dw_1.setfilter("t_student.stu_id ='" + l + "'" )
这样是不报数据类型错了,可是出现另一个错误提示:Expression is not valid. 这又是什么呀?
而我把表名: t_student 去了,就不报错了!可是什么也没有出来,好像一切都没有反应似的!
表中数据大致如下:
stu_id char(4) primary key
stu_name char (10)
stu_sex 等等
表名t_student
怎么检索不出来数据呢?
如果用retrieve()可以全部检索出来
知道的朋友希望赐教一下,谢谢!
[[it] 本帖最后由 dangmiao 于 2008-4-1 08:07 编辑 [/it]] 难道这个地方,没有一个人能解决这个问题吗?这个很难吗? 语句是没有错的。。。是别的地方出问题了 string l
l=trim(sle_1.text)
integer i=dw_1.setfilter("stu_id ='" + l + "'" )
dw_1.filter()
看下i的返回值,如果为1就是正确的 。我想可然是你别的地方出问题了
还有个问题是你输入的检索的条件里面没有数据
[[it] 本帖最后由 ugly927846 于 2008-4-1 11:38 编辑 [/it]] 返回值是1不错,可是就是不出数据,我也不明白为什么,当用retrieve()函数时可以全部出来!这个到底哪个地方错了呢? string l ,df
l=trim(sle_1.text)
df="stu_id ='" + l + "'"
messagebox('',df)
integer i=dw_1.setfilter(df )
dw_1.filter()
messageb弹出的df是什么,你在sql语句中用where条件用df看下能不能出数据....
唯一的问题是你的df有问题 ,setfilter函数的功能是把df当作是sql中where语句的
条件。。。。
[[it] 本帖最后由 ugly927846 于 2008-4-2 09:28 编辑 [/it]] 问题已经解决了,
只要在前面加上
dw_1.settransobject(sqlca)
dw_1.retrieve()
string l ,df
l=trim(sle_1.text)
df=("stu_id ='" + l + "'" )
//messagebox('',df)
dw_1.setfilter(df)
dw_1.filter()
为什么这样就行了呢?无意中发现的,难道filter()不难检测数据出来吗? 谢谢版主的帮忙! dw_1.settransobject(sqlca)
这句一定要,因为sqlca是pb默认的事物对象
你创建了对象之后,在提取数据之前一定要dw_1.settransobject(sqlca)一下
要不pb怎么知道你要用哪个事物对象呢
dw_1.retrieve()
这个不要也可以.......... string l ,tiaojian
l=trim(sle_1.text)
tiaojian="stu_id='"+l+"'"
dw_1.settransobject(sqlca)
dw_1.retrieve()
dw_1.setfilter(tiaojian)
dw_1.filter()
试试,应该没问题
页:
[1]
