问一个ADO设置SQL语句参数的问题(10分)

  • 主题发起人 主题发起人 huangtong
  • 开始时间 开始时间
H

huangtong

Unregistered / Unconfirmed
GUEST, unregistred user!
问一个ADO设置SQL语句参数的问题
select * from table_a where field_a= :para_a and field_b= :para_a

参数用到了两个地方
在给这个SQL语句参数para_a赋值的时候,应该赋值两次,还是只要给这个参数赋值一次啊。
 
一次就可以了
 
最好的答案是自己试一下
 
一次就可以了.
你可以试一下!!!!!!!!11
 
一次就可以了。
 
是一下就可以了吗,这也来求人呀!
 
如果是一次就好了。不知道是粗心还是BUG。反正现在被ADO困扰,刚刚学习,
大家不要笑话我的问题才好。

ADO使用的两个困惑,程序采用D6 + SQL SERVER数据库
示例程序采用D6 + ACCESS
表结构CW_BOOK_XZSRL是流水表
CW_RETAIL_XZSRL是另一个流水表
SYSPZ_AEEACODE是区域代码表
现在要按区域统计AREACODE的某个月份的xz_bill_je情况
由于CW_BOOK_XZSRL和XW_RETIAL_XZSRL没有字段关联,我
采用如下SQL语句实现数据的统计,另外没有查找到ACCESS
如何实现外连接,先假设两张表都有关于SYSPZ_AREACODE
所列的区域的统计数据。SQL语句如下
tempSQL:=select a.areacode as areacode,a.areaName as AreaName,'
(select sum(b.xz_bill_JE)/100'
from cw_retail_xzsrl b'
where b.areacode = a.areaCode'
and b.xz_date like :xz_month) as sub_bill,'
(select sum(c.xz_bill_JE)/100'
from cw_book_xzsrl c'
where c.areacode = a.areaCode'
and c.xz_date like :xz_month) as retail_bill'
from syspz_areacode a';

困惑一:在两个嵌套的SQL语句中,如果别名不一致,
比如:CW_RETAIL_XZSRL B CW_BOOK_XZSRL C
执行就会错误。可是如果把该SQL语句拿到SQL SERVER数据库执行
却不会发生错误。可排除SQL语句语法错误的可能

困惑二:当把别名起成一样的时候,SQL语句执行正确,可是
语句的后一个参数却不可以赋值。本来如果别名的名称一样,
只要赋值一次就可以了。可是,现在却无法显示。

ADO刚开始学习使用,好像问题多多,还请您多多指教啊。

我自己写了测试程序,有愿意帮忙的高手么?留下EMAIL
 
21675292 愿意和你交流,可我不是高手:)
 
select * from table_a where field_a=field_b and field=:para_a

这样肯定一个参数
 
这个问题把兴趣掉起来了,我去年在D5 SQL SERVER上就有这样的问题:
如果参数同名是很麻烦的,经常会被DELPHI当作两个参数来处理,我的对策是:
使用Params[0]而不是ParamByName,这样可以准确的对参数进行副值。
对于比较长的SQL语句,特别是潜逃/符合查询,DELPHI处理上也有问题,真是倒霉啊!
我的解决方案是:统统写SP(存储过程),这样基本解决问题。
那次写的我挺苦。

另外:写ADO主义PARAMCHECK和PREPARE属性/方法
 
TO CJ:
能给个联系的地址么?我想多多请教你啊。
 
家里地质贴这里不太好吧[:D]
mail:cjcjc@online.sh.cn
请使用纯文本,HTML版本一律删除,而且最近离网络比较远,一周也未必收信,尽量上网吧
 
我的经验是同名的参数经常出问题
我是只好把他们改成2个不同名字的参数
 
同意PIPI的說法,我剛試過一次,或用參數序號來賦值!
 
呵呵,谁的E文好啊。写个信给BORLAND问问看,是不是BUG
 
后退
顶部