1 sk:='code=:cd ';
2 adoquery1.sql.clear;
3 adoquery1.sql.add('select a,b,c from t1 where '+sk);
4 adoquery1.sql.add(' union select a,b,c from t2 where '+sk);
5 adoquery1.paramsbyname('cd').value:=''+edit.text+'';这句话那儿错了(t1与t2结构一样)
当把第4句话注释掉时就完全可以运行.还有一问
我有一字段其值为1-10之间的任一值,我要按这个字段的值1-3,4-6,6-10分组
最方便是那种方法
如果按1-10,3-10,5-10分组呢?
2 adoquery1.sql.clear;
3 adoquery1.sql.add('select a,b,c from t1 where '+sk);
4 adoquery1.sql.add(' union select a,b,c from t2 where '+sk);
5 adoquery1.paramsbyname('cd').value:=''+edit.text+'';这句话那儿错了(t1与t2结构一样)
当把第4句话注释掉时就完全可以运行.还有一问
我有一字段其值为1-10之间的任一值,我要按这个字段的值1-3,4-6,6-10分组
最方便是那种方法
如果按1-10,3-10,5-10分组呢?
2 adoquery1.sql.clear;
3 adoquery1.sql.add('select a,b,c from t1 where '+sk);
4 adoquery1.paramsbyname('cd').asstring:=''+edit.text+'';
5 adoquery1.sql.add(' union select a,b,c from t2 where '+sk);
6 adoquery1.paramsbyname('cd').asstirng:=''+edit.text+'';实在不行的话,直接把sk带进去试
ADOQuery和TQuery有很相近的用法,
但在这点上是不同的,
D5程序员开发指南有明确指出。
这个问题我已经圆满解决了
问题出在在一个sql语句中是不允许有两个相同的ado参数值,那怕这两个参数
的含义与值一模一样,我把第二个sk的改为 sk1:='code=:cd1 ';
再加一句adoquery1.parameters.paramsbyname('cd1').value:=''+edit.text+'';
就行了!!!!