sql语句中使用?

hua123 2000-10-05 07:30:00
s_sql="select jzhm,qfy,sfrq from "+ qfk1 +" where sffs = " + "1" +"and sfrq>=:"date(s_date)" + " order by sfrq desc"
dw_1.settransobject(s_sql)
报语法错误
...全文
147 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
longzu 2000-10-06
  • 打赏
  • 举报
回复
搞错没有,settransobject()是设置事物对象的,如dw_1.settransobject(sqlca)。而为数据窗口控件设置SQL语句是使用setsqlselect()函数:dw_1.setsqlselect(s_sql)才对嘛,大哥!
还有,在你将s_sql赋给数据窗口之前,请跟踪或显示一下s_sql的值,注意看看 and 的前后空格,字符型字段后跟的值有引号,日期型字段后跟的值无引号。
再有就是可以先在DB Administration中把SQL语句试通,再往程序里套。或者把程序生成的SQL语句放到DB Administration中试,检索得出数据就证明不是SQL语句出错,我在写ASP的时候就是这么搞整的!
hua123 2000-10-05
  • 打赏
  • 举报
回复
s_sql="SELECT jzhm,qfy,xj,sffs,sfrq,yhzl FROM "+ s_table +" where sffs = " + "1" + " and sfrq>=date('"+s_time+"')" + " and jzhm >'4000000' and jzhm <'5000000'" + " ORDER BY sfrq DESC"
报函数参数个数不对,而且不能替换表了?jhc请指教!
jhc 2000-10-05
  • 打赏
  • 举报
回复
s_sql="select jzhm,qfy,sfrq from "+ qfk1 +" where sffs = " + "1" +" and sfrq>=date('"+s_date+"') + " order by sfrq desc"
dw_1.settransobject(s_sql)
and 之前应该有空格
s_date 应该是字符串变量吧,转换成date型放进s_sql可能会错,最好把转换放进SQL语句里
qinyj 2000-10-05
  • 打赏
  • 举报
回复
首先,dw_1.settransobject(s_sql) 应为 dw_1.setsqlselect(s_sql);因为date函数返回的是日期类型,当然不能和字符串进行连接,应该为:string(date(s_date)),再说,整个sql语句应为:
s_sql = "select jzhm,sfy,sfrq from " + qfk1 + " where sffs = 1 and sfrq >=" + string(date(s_date)) + " order by sfrq desc "
当然以上只是mssql server的语法,不知道后面你用的什么数据库,具体的语法与数据库有关系。
hua123 2000-10-05
  • 打赏
  • 举报
回复
谢谢!sfrq是date型的,用的是sybase
qinyj 2000-10-05
  • 打赏
  • 举报
回复
首先,dw_1.settransobject(s_sql) 应为 dw_1.setsqlselect(s_sql);因为date函数返回的是日期类型,当然不能和字符串进行连接,应该为:string(date(s_date)),再说,整个sql语句应为:
s_sql = "select jzhm,sfy,sfrq from " + qfk1 + " where sffs = 1 and sfrq = " + string(date(s_date)) + " order by sfrq desc "
当然以上只是mssql server的语法,不知道后面你用的什么数据库,具体的语法与数据库有关系。

1,077

社区成员

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

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