hur.cn - 华软网

 热门搜索

retrieve()中的参数失效

  作者:未知    来源:网络    更新时间:2019/6/11
string cname

cname=sle_1.text
dw_1.settransobject(sqlca)

dw_1.retrieve(cname)

其实我要实现的功能很简单,就是透过sle_1.text的内容作为条件去检索数据,然则我遇到的问题是retrieve的参数,无论我输入什么(甚至是什么都不输入),获得的结果是全数都检索出来。我想知我什么地方犯错?我是参照一个现成的实例的代码写的,那个实例就能够实现检索,而我就不能。

------华软网友回答------
在设计dw的sql查询的时候,在design-retrieve argument菜单里面加入查询参数

------华软网友回复------
我不清楚我算不算没有写好,由于在创建数据窗口时我在sql中的design的参数设定中就设了一个,然则那名字和类型我不知有没有错?其实详细怎样设我是不会的,我只是模仿那个实例。

结果依然是一样,所以才发帖上来向列位高手求救。最好能够详细为我讲授一下那些参数的名字设定的规则。

ps:我也尝试过运用动态sql,然则问题就是下面:sle_1.text那里应该怎样写,我这样的写法是毛病的,然则如果我将其改成‘语文’,就能够有搜索效果,惋惜这样做不符我当初原意。(我的原意是输入查询条件检索,而不是为它设一个常量)

*string   s_sql   //定义临时字符串变量,用来存储sql语句   
  s_sql   =   "select  student_name,course_name,score  from   student,course, student_course  where   course_name   = :sle_1.text and student.student_no=student_course.student_no"   
  dw_1.settransobject(sqlca)   
  dw_1.setsqlselect(s_sql)   
  dw_1.retrieve()

------华软网友回复------
预览数据有没有数据?
把你数据窗口SQL贴出来看看
------华软网友回复------
其实我只是学了pb半个月,而我看的书都只是蜻蜓点水地提及最基本的知识,有很多的操作我是不会的。我只是在做数据库的课程设计,一个近乎弱智的课程设计。
我在数据库中建立了三个表(我建表是用英文的,这里方便叙述才用中文)
学生表:学生学号,学生姓名,班别(学号是主键)
学科表:学科号,学科名,学分(学科号是主键)
选修成绩表:学生学号,选修的学科号,成绩(学生学号与选修的学科号组成主键,而且它们分别是对应的表的外键)
我简述一下我的操作
1 建立一个数据窗口,从三个表中分别选择学生姓名,选修学科名,成绩响应的列组成一个数据窗口视图。这时预览数据是有数据,那是我全数的数据。
2 按下sql,在design中设置参数,参数名我设了学科名,类型为string。当我按确定是,它出现了这样的提醒:
The(course_name)argument defined for the SELECT statement was not referenced.Do you want to continue anyway?  是(Y) 否(N)
我选了是。
这时预览数据那里已经酿成了空白(没有所有一条记录)
3 我建立了一个以输入学科名为查询条件的窗口,在其数据窗口控件的目标连接了适才建立的数据窗口,在按钮控件的clicked()事件中增加了以下的其中一套代码
string a
a=sle_1.text
dw_1.settransobject(sqlca)
dw_1.retrieve(a)
用了这套代码,结果是完全体现不到检索,只是把表的所有数据显示出来。


用下面的代码,情况就不一样,它会在我为sle_1.text赋值后,按查询按钮后,出现了一个很意外的对话框,要求我对适才设置的参数赋值,我要在适才赋值的基础上再写屡次语文才能够到达预期效果。但这照旧和我原意有一定偏离。
string   s_sql   //定义临时字符串变量,用来存储sql语句   
  s_sql   =   "select  student_name,course_name,score  from   student,course, student_course  where   course_name   = '"+sle_1.text+"' and student.student_no=student_course.student_no and course.course_no=student_course.course_no"   
  dw_1.settransobject(sqlca)   
  dw_1.setsqlselect(s_sql)   
  dw_1.retrieve()
我是一个菜鸟,所以恳请高手们能够为什么详细解答。
------华软网友回复------
运用setsqlselect函数,不能在sql语句中运用剧本中的所有变量,不能在retrieve函数中运用参数
------华软网友回复------
string   s_sql   //定义临时字符串变量,用来存储sql语句   
  s_sql   =   "select  student_name,course_name,score  from   student,course, student_course  where   course_name   = " + sle_1.text + " and student.student_no=student_course.student_no"   
  dw_1.settransobject(sqlca)   
  dw_1.setsqlselect(s_sql)   
  dw_1.retrieve()
------华软网友回复------
string cc
cc="select * from czy where czy_pym like'%"+bb+"%' order by czy_id desc"
dw_1.setsqlselect(cc)
dw_1.retrieve()

string cname
cname=sle_1.text
dw_1.settransobject(cname)
dw_1.retrieve()      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。