虽然是简单问题,但我实在是查不到...请大家帮我,我只有这些分了.
//***************把数据库备份出来************************//
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是什么东西啊?为什么加冒号?
//***************把数据库备份出来************************//
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是什么东西啊?为什么加冒号?
其实这个程序的另一个子窗体里还有一句:
Q_temp.SQL.Add('select * from Data where Id>=:ss and TagName=:tag'); //:ss???:tag???
ss和tag都在程序里找不到.
那么'delete from Data where Id<:ss'这句到底删除的到底是id小于什么的记录呢?ss么?
Id<:ss , 通过Q_temp.ParamByName('ss').Value :=id_last;
对ss变量赋值,比如 id_last 为 1 那么执行的SQL就转换为
delete from Data where Id<1