涉及SQL和数据类型的一个问题

nbdqle 2008-01-30 01:36:31
dec cpbf
string cpbfym
cpbf=10
cpbfym='200801'

update lnr_ps
set wagetmp=wagetmp+:cpbf
where lnr_ps.pscode in
(select lnr_ff.pscode from lnr_ff
where lnr_ff.ffdate=:cpbfym);
不会运行

update lnr_ps
set wagetmp=wagetmp+:cpbf
where lnr_ps.pscode in
(select lnr_ff.pscode from lnr_ff
where lnr_ff.ffdate='200801');
运行正确,只把变量代入,其它没变
不知前者错在何处


...全文
116 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2008-01-31
  • 打赏
  • 举报
回复
不会吧?
AFIC 2008-01-31
  • 打赏
  • 举报
回复
连sql server最好别用ODBC连接
wanglv 2008-01-31
  • 打赏
  • 举报
回复
查看下数据库中字段的定义类型:ffdate,lnr_ps.pscode,lnr_ff.pscode,lnr_ps.wagetmp
nbdqle 2008-01-31
  • 打赏
  • 举报
回复
SQLerrtext 返回信息:
SQLTATE=3700 [ODBC SQL server Driver]语法错误或访问冲突

ffdate 是SQL server 2000数据库表的char 类型 长度是6 如:200801
AFIC 2008-01-31
  • 打赏
  • 举报
回复
ffdate是神马类型的?
nbdqle 2008-01-31
  • 打赏
  • 举报
回复
一模一样的SQL,原先已经试过了,也是有问题,真怪!cpbfym用常量就行,cpbfyi 就可用变量
nbdqle 2008-01-31
  • 打赏
  • 举报
回复
cpbfym='200801'
select psname
into :vvpsname
from lnr_ff
where pscode='330227194810282747' and ffdate=:cpbfym;
这个SQL能运行,真怪!!


dawugui 2008-01-30
  • 打赏
  • 举报
回复
--这样肯定行.
update lnr_ps
set lnr_ps.wagetmp = lnr_ps.wagetmp + :cpbf
from lnr_ps , lnr_ff
where lnr_ps.pscode = lnr_ff.pscode and lnr_ff.ffdate = :cpbfym
nbdqle 2008-01-30
  • 打赏
  • 举报
回复
问题是用'20801'这个常量是正确的
用string cpbfym
cpbfym='200801'
运行就不正确了
nbdqle 2008-01-30
  • 打赏
  • 举报
回复
谢谢二位,是SQL server 2000 数据库
用潇洒老乌龟(原名:爱新觉罗.毓华)的方法也是一样不成功的问题
SQLCA.SQLcode=-1
SQLCA.sqldbcode=170

用我原方法
SQLCA.SQLcode=-1
SQLCA.sqldbcode=999



dawugui 2008-01-30
  • 打赏
  • 举报
回复
这样试试:

dec cpbf
string cpbfym
cpbf=10
cpbfym='200801'
string ls_sql
ls_sql = "update lnr_ps set wagetmp = wagetmp + " + string(cpbf) + " where lnr_ps.pscode in (select lnr_ff.pscode from lnr_ff where lnr_ff.ffdate = '" + cpbfym + "'"
EXECUTE IMMEDIATE :Ls_sql USING sqlca;

hawkbird 2008-01-30
  • 打赏
  • 举报
回复
什么数据库?事务返回的属性代码中有错误信息,可以看看,不同的数据库sql语法是不一样的

1,077

社区成员

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

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