For i :=0 to StringGrid1.RowCount-1 do 
begin 
adoquery2.Close; 
adoquery2.SQL.Clear; 
adoquery2.SQL.Add('exec proc_StockTask InsertBody,'''','''+stringgrid1.Cells[0,row]+''''); 
adoquery2.SQL.Add(','''+stringgrid1.cells[1,row]+''''); 
adoquery2.SQL.Add(','''+stringgrid1.Cells[2,row]+''''); 
adoquery2.SQL.Add(','''+stringgrid1.Cells[3,row]+''''); 
adoquery2.SQL.Add(','''+stringgrid1.Cells[4,row]+''''); 
adoquery2.SQL.Add(','''+stringgrid1.Cells[5,row]+''''); 
adoquery2.SQL.Add(','''+stringgrid1.Cells[6,row]+''''); 
adoquery2.ExecSQL; 
end; 
CREATE PROCEDURE proc_StockTask 
@flag varchar (10)='',@进货单号 varchar(20)='',@店内码 varchar(20)='',@条码 varchar(20)='', @商品名称 varchar(200)='', 
@规格 varchar(200)='',@供应商 varchar(10)='',@数量 varchar(10)='',@单价 varchar(10)='' 
as 
if @Flag='InsertBody'  ---添加明细 
begin 
if not exists (Select * From bill_calgai where  进货单号=@进货单号 and 店内码=@店内码) 
Insert Into bill_calgai (店内码,条码,商品名称,规格,供应商,数量,单价) 
values (@店内码,@条码,@商品名称,@规格,@供应商,@数量,@单价) 
else 
Update bill_calgai set 店内码=@店内码, @条码=@条码,商品名称=@商品名称,规格=@规格,供应商=@供应商,数量=@数量,单价=@单价 
where  进货单号 =@进货单号  and 店内码=@店内码 
end