我的加载效果如图:
加载代码: data1.ADOQZL.Close; //查询数据//data1是一个窗体
data1.ADOQZL.SQL.Clear;
data1.ADOQZL.SQL.Text:='select * from HQ_WLXX order by 物料编号 desc';
data1.ADOQZL.Open; for i:=0 to data1.ADOQZL.RecordCount-1 do //RecordCount返回记录-1
begin
Stringgrid1.Cells[0,i+1]:= data1.ADOQZL.fieldByName('物料编号').AsString;
Stringgrid1.Cells[1,i+1]:= data1.ADOQZL.fieldByName('物料名称').AsString;
Stringgrid1.Cells[2,i+1]:= data1.ADOQZL.fieldByName('类型').AsString;
Stringgrid1.Cells[3,i+1]:= data1.ADOQZL.fieldByName('规格').AsString;
Stringgrid1.Cells[4,i+1]:= data1.ADOQZL.fieldByName('单位').AsString;
Stringgrid1.Cells[5,i+1]:= data1.ADOQZL.fieldByName('备注').AsString;
Stringgrid1.Cells[6,i+1]:= data1.ADOQZL.fieldByName('启动').AsString;
if Stringgrid1.RowCount<= data1.ADOQZL.RecordCount then
Stringgrid1.RowCount:=Stringgrid1.RowCount+1;
data1.ADOQZL.Next;
end;
data1.ADOQZL.Active:=false;
现在我想用ADOStoredProc控件调用存储过程实现以上代码的效果
加载代码: data1.ADOQZL.Close; //查询数据//data1是一个窗体
data1.ADOQZL.SQL.Clear;
data1.ADOQZL.SQL.Text:='select * from HQ_WLXX order by 物料编号 desc';
data1.ADOQZL.Open; for i:=0 to data1.ADOQZL.RecordCount-1 do //RecordCount返回记录-1
begin
Stringgrid1.Cells[0,i+1]:= data1.ADOQZL.fieldByName('物料编号').AsString;
Stringgrid1.Cells[1,i+1]:= data1.ADOQZL.fieldByName('物料名称').AsString;
Stringgrid1.Cells[2,i+1]:= data1.ADOQZL.fieldByName('类型').AsString;
Stringgrid1.Cells[3,i+1]:= data1.ADOQZL.fieldByName('规格').AsString;
Stringgrid1.Cells[4,i+1]:= data1.ADOQZL.fieldByName('单位').AsString;
Stringgrid1.Cells[5,i+1]:= data1.ADOQZL.fieldByName('备注').AsString;
Stringgrid1.Cells[6,i+1]:= data1.ADOQZL.fieldByName('启动').AsString;
if Stringgrid1.RowCount<= data1.ADOQZL.RecordCount then
Stringgrid1.RowCount:=Stringgrid1.RowCount+1;
data1.ADOQZL.Next;
end;
data1.ADOQZL.Active:=false;
现在我想用ADOStoredProc控件调用存储过程实现以上代码的效果
Stringgrid不是感知控件,要显示数据还是要先查询出数据,然后循环写入ADOStoredProc1调用存储过程,指定ProcedureName,Parameters就行了,然后ExecProc执行;至于存储过程写法,不如先去百度一个例子研究吧