请教一个简单问题. ( 积分: 50 )

  • 主题发起人 主题发起人 azyee
  • 开始时间 开始时间
A

azyee

Unregistered / Unconfirmed
GUEST, unregistred user!
虽然是简单问题,但我实在是查不到...请大家帮我,我只有这些分了.
//***************把数据库备份出来************************//
file_source:=trim(s_datadir);
file_aim:=s_backdir+datetostr(date())+'.mdb';
file_aim:=trim(file_aim);
Form4.FileCopy(file_source,file_aim); //调用dateback中的函数
T_data.Last; //指向表date的最后一行
id_last:=T_data.fieldbyname('Id').value; //将表date的最后一行的Id赋给id_last
T_data.Close;
id_last:=id_last-row_control;
Q_temp.Close;
Q_temp.SQL.Clear;
Q_temp.SQL.Add('delete from Data where Id<:ss'); //:ss'是什么???
T_data.Open;
Q_temp.Params[0].Value:=id_last; //将id_last赋给Data where Id<:ss中的第一个变量???
Q_temp.Prepare; //创建一个已准备好的查询
Q_temp.ExecSQL; //执行sql语句???不反回结果集的查询???
Q_temp.close;
T_data.close;

请问这个:ss是什么东西啊?为什么加冒号?
 
[:(]
这是ADOquery的SQL值参数传方式!
上网查一就知道了!
 
请问怎么查啊?难道输入一个冒号来查?输入Id<:ss是查不到的.
 
是参数,Q_temp.Params[0].Value:=id_last; 是对参数传值!
 
Q_temp.Params[0].Value:=id_last 是对参数传值,但是是把id_last传给谁啊?是不是和Id<:ss有关系?那这个Id<:ss有是什么意思啊?
 
:ss就相当于id_last 只是一种参数传递
 
('delete from Data where Id<:ss');应该是提取表DATE的东西吧,然后把id_last赋给提取到的第一项吧,where Id<:ss应该是提取的条件吧,那么这个条件是什么意思呢?
 
打错了...应该是删除表DATE的东西,楼上的意思是不是":ss是一个变量,它的值就等于id_last ?"
 
可是ss这个变量在程序里甚至都没有声明......
那么'delete from Data where Id<:ss'这句删除的到底是id小于什么的记录呢?
 
...但是就先后顺序来说是删除语句'delete from Data where Id<:ss'在前,赋值语句Q_temp.Params[0].Value:=id_last在后啊,这样也可以么?
 
在ADOQuery中只要一添加SQL语句'delete from Data where Id<:ss',ADOQuery就自动识别创建了参数'ss',只要还没调用Q_temp.ExecSQL,就可以使用Q_temp.Params[0].Value:=id_last直接对参数赋值
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
687
import
I
I
回复
0
查看
763
import
I
后退
顶部