方法一:
TJZB_SP.Close;
with TJZB_SP do
begin
Parameters.ParamByName('@riqi_start').Value :=datetostr(riqi_start.Date);
Parameters.ParamByName('@riqi_end').Value :=datetostr(riqi_end.Date);
Parameters.ParamByName('@sjd_start').Value :=sjd_start.Text;
Parameters.ParamByName('@sjd_end').Value := sjd_end.Text;
Parameters.ParamByName('@BSS').Value :=BSS_ed.Text;
Parameters.ParamByName('@Site').Value :='%'+Site_ed.Text+'%';
Parameters.ParamByName('@Cell').Value := Cell_ed.Text;
end;
tjzb_sp.Open;
//TJZB_SP 是控件ADOSTOREPROC的名字
//另外还要设置存储过程名和各个参数,类型
方法二:
TJZB_SP.ProcedureName:='wlwxxntj';
TJZB_SP.Close;
TJZB_SP.Parameters.Clear;
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@riqi_start';
tp.DataType := ftdatetime;
tp.Value := datetostr(riqi_start.Date);
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@riqi_end';
tp.DataType := ftdatetime;
tp.Value := datetostr(riqi_end.Date);
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@sjd_start';
tp.DataType := ftString;
tp.Value := sjd_start.Text;
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@sjd_end';
tp.DataType := ftString;
tp.Value := sjd_end.Text;
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@BSS';
tp.DataType := ftString;
tp.Value := BSS_ED.Text;
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@SITE';
tp.DataType := ftString;
tp.Value := '%'+SITE_ED.Text+'%';
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@CELL';
tp.DataType := ftString;
tp.Value := CELL_ED.Text;
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@orderby_key';
tp.DataType := ftwideString;
tp.Value := orderby_key.Text;
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@pxfs';
tp.DataType := ftwideString;
tp.Value := pxfs_comb.Text;
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@ysf';
tp.DataType := ftwideString;
tp.Value := ysf_comb.Text;
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@ysf_z';
tp.DataType := ftString;
if ysf_z.Text='' then tp.Value :='0' else tp.Value := ysf_z.Text;
tp := TJZB_SP.Parameters.AddParameter;
tp.Name := '@top_z';
tp.DataType := ftString;
tp.Value := top_z.Text;
TJZB_SP.Open;
if tjzb_sp.Eof then jg_lab.Caption:='没有找到相关记录!';
tjzb_groupbox.Caption:='共找到'+Inttostr(TJZB_SP.RecordCount)+'条记录';
//第一次用第一个方法,有时会出错,所以改用了第二种方法,
//在查询时,有个查询二个日期间的数据时,当选择同一个日期时查不出来,后来发现要把日期类型转换为字符串类型。