sql.add('');
sql.add(' iif( (2008-year(sj))>60,'老人'.....) as aaa ');
像这个语句中2008如果要以变量的值传入,不知道该怎么写啊?parameters.ParamByName('y1').Value:=2008;那么sql里怎么写?:y1也不对啊?
sql.add(' iif( (2008-year(sj))>60,'老人'.....) as aaa ');
像这个语句中2008如果要以变量的值传入,不知道该怎么写啊?parameters.ParamByName('y1').Value:=2008;那么sql里怎么写?:y1也不对啊?
解决方案 »
- 庆祝八一,散分,10分钟后结贴
- gdi+,delphi编程,内存缓慢增加,求原因
- 求救~~~~~~~~~~关于agent报错的问题
- 问个问题,散点分!
- 请问在ADOTable中的lookup字段能否用filter过滤?如何实现?此字段并不存在当前表的数据库的!
- 怎样用SOCKET发送listbox上的数据?只有20分了,谢谢帮忙!
- 怎么实现在DBGrid中双击某一行而获得该行中某一列的值?
- ICS 如何验证文件 FTP 上传是否正确?
- 怎样用程序打开带密码的DB数据表?
- 如何监视或记录电脑磁盘上的数据变化?
- fltk+opengl+vtk联合用,谁能跟我讲讲他们的关系啊?谢谢
- 想做人事管理系统,照片上传怎么插入数据库
parameters.ParamByName('y1').Value:=2008;sql里declare @y1 int
select @y1=2008
if if( (@y1-year(sj))>60,'老人'.....) as aaa
主要是不太明白你究竟想表达什么意思,不知道这样回答是否合适
sql.add(' iif( (:y1-year(sj))>60,'老人'.....) as aaa ');
parameters.ParamByName('y1').Value:=2008;sql里 SQL code
declare @y1 int
select @y1=2008
iif( (@y1-year(sj))>60,'老人'.....) as aaa
eidt1.text:=2008;
sql.add(' iif( ('+edit1.text+'-year(sj))>60,'老人'.....) as aaa '),这样也是可以通过的。
我的意思是可否这样
parameters.ParamByName('y1').Value:=strtoint(edit1.text);再把y1这个变量通过某种写法传递到sql语句中去?
parameters.ParamByName('y1').Value:=(改这里);就可以了。
不知道可否做到?
sql.add(' iif( (:y1-year(sj))>60,'老人'.....) as aaa ');
parameters.ParamByName('y1').Value:=2008;
这种方法我试过了,通不过阿,编译通过,但在程序中执行时提示‘y1 not found’
和iif没关系的阿
sql.Clear;
sql.Add(' SELECT * FROM a WHERE (2008-year(sj))>60 ');
open;实际上就是这样一个简单的查询阿...
现在想把2008这个以变量的形式传入,比如
parameters.ParamByName('y1').Value:=2008;
如果这样写的话,那么sql里怎么写呢?
sql.Add(' SELECT * FROM a WHERE (:y1-year(sj))>60 ');
parameters.ParamByName('y1').Value:=2008;
这种方式通不过阿
Adoquery1.sql.Clear;
Adoquery1.sql.Text := ' SELECT * FROM a WHERE (:y1-year(sj))>60 ' ;
Adoquery1.open;
Adoquery1.parameters.ParamByName('y1').Value:=2008;
Adoquery1.close;
Adoquery1.sql.Clear;
Adoquery1.sql.Text := 'SELECT * FROM a WHERE ((:y1)-year(sj))>60' ;
Adoquery1.parameters.ParamByName('y1').Value:=2008;
//或者 Adoquery1.parameters.Item[0].Value:=2008;
Adoquery1.open;