查询问题,也即引号问题(在线等)

yingzhi110 2003-09-27 08:59:26
我在窗口中做了查询功能,通过一个单行文本编辑框输入要查询的数据,现在想知道各种类型的数据怎么样转化为执行的语法。
如查询作者编号(au_id)出版时间(pub_time)编号(au_id)或者是价格(price)的时候该怎么写。
我写的语句如:
string ss
ss="au_id="+"'"+sle_.text()+"'"(au_id是字符串型的)
dw_1.setfilter(ss)
dw_1.filter()
我虽然做出来了,但"'"起什么作用,什么时候一定要用,什么时候可以不用?我只知道如果是INT型的可以不加号。针对时间货币等类型又该怎么办?
...全文
43 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yingzhi110 2003-10-13
  • 打赏
  • 举报
回复
真对不起,网络坏了好久,从国庆节前一直到现在才能来上网。现在给分。
YewPu 2003-09-29
  • 打赏
  • 举报
回复
UP
yingzhi110 2003-09-29
  • 打赏
  • 举报
回复
谢谢大家,我觉得有两个空格是合理的,因为where au_id='001' and title_id='bu1032',但为啥只用一个空格呢?那不变成where au_id='001'and title_id='bu1032'
但lfcon=lfi1+lfh1+lfw1+lfo1+" "+lfi2+lfh2+lfw2却是对的呢?
adeva 2003-09-27
  • 打赏
  • 举报
回复
string ss
ss="au_id='"+sle_1.text()+"'"
dw_1.setfilter(ss)
dw_1.filter()

1.引号是字符串的定界符.
2.象数值型、日期型的要转换成字符型,不过前面的相应字段也要作相应的转换(也转换成字符型)
YewPu 2003-09-27
  • 打赏
  • 举报
回复
支持风雨无阻的说法。
freebirdwjy 2003-09-27
  • 打赏
  • 举报
回复
1、lfcon=lfi1+lfh1+lfw1 //lfcon=lfi1+lfh1+""+lfw1+"" (我发现两个都对)
当一个条件时 即为 :a<b 或者 a < b,有没有空格没有区别

2、//有两个输入条件时
正确的形式应该是:a<b and b<c
如果去掉中间的两个空格就是:a<bandb<c就不对了呀
jdsnhan 2003-09-27
  • 打赏
  • 举报
回复
转换后是对常量的一种表示。
mittee 2003-09-27
  • 打赏
  • 举报
回复
用法和sql语句的一样。
txchen 2003-09-27
  • 打赏
  • 举报
回复
up
eminena 2003-09-27
  • 打赏
  • 举报
回复
string ss
ss="au_id='"+sle_1.text()+"'"(au_id是字符串型的)
dw_1.setfilter(ss)
dw_1.filter()
dw_1.retrieve()

1.字符必须加,因为,引号是字符串的定界符.
2.数值型的不能加
3.推荐:其他类型转换成字符型
klbt 2003-09-27
  • 打赏
  • 举报
回复
字符类型加引号
日期、数字不用加。
happy_0325 2003-09-27
  • 打赏
  • 举报
回复
只是为了实现如:au_id='01'
adeva 2003-09-27
  • 打赏
  • 举报
回复
我想你那个地方如果没用“ ”,则前后两个字符串不就连在一起了吧,当然就不行了!
yingzhi110 2003-09-27
  • 打赏
  • 举报
回复
明白了一点,谢谢!下面我想列个例子,大家帮看看,这个例子是用下拉列表框作为查询条件和查询条件的选择输入,单行文本编辑框用来输入查询条件;有个方我想不明白:

if ddlb_1.text=""or ddlb_4.text="" then //没有输入条件时
elseif ddlb_2.text=""or ddlb_5.text=""then //有一个输入条件时
lfcon=lfi1+lfh1+lfw1 //lfcon=lfi1+lfh1+""+lfw1+"" (我发现两个都对)
elseif ddlb_3.text=""or ddlb_6.text="" then //有两个输入条件时
lfcon=lfi1+lfh1+lfw1+lfo1+" "+lfi2+lfh2+lfw2
//lfcon=lfi1+lfh1+""+lfw1+""+lfo1+" "+lfi2+lfh2+""+lfw2 +""
else//有三个输入条件时
lfcon=lfi1+lfh1+""+lfw1+""+lfo1+" "+lfi2+lfh2+""+lfw2+""+lfo2+" "+lfi3+lfh3+""+lfw3+""
end if
以上是一个查询窗口的主要查询语句,lfcon代表综合查询语句,lfi1表示列名1,
lfo1表示符号1(如:=、<>、>、<),lfi2表列名2,lfh2表符号2,lfw1、 lfw2是一
个用单行文本编辑框输入的值,用于条件的值的输入。问题是:其中在有两个输入条件时,有一个地方用了一个含一个空格的双引号,不用就是不行,或者把那个空格去掉也不行,我不明白它的作用是什么,请赐教~!~!
workhand 2003-09-27
  • 打赏
  • 举报
回复
字符类型必须加引号
日期、数字不用加

1,079

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧