//我的思路,你是不是這個意思
for i := 1 to stringgrid.rowcount do //應該從第1行開始吧
begin
  把每行的數據insert into 你的資料表中;
end;

解决方案 »

  1.   

    //大概的寫法,再修改一下就差不多
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: integer;
    begin
      with Q do //Q:TQuery;
      begin
        Close;
        SQL.Clear;
        SQL.Add('insert into tablename (field1,field2,...) ');
        SQL.Add('values (:field1,:field2,...)');
        for i:=1 to StringGrid1.RowCount do
        begin
          ParamByName('field1').AsString := StringGrid1.Cells[0,i];
          ParamByName('field2').AsString := StringGrid1.Cells[1,i];
          ...
          ExecSQL;
        end;
      end;
    end;