我也是這個問題,我用的是dbgrideh,序號是自己畫上去的。保存是按dbgrideh每行內容進行。保存是沒有問題,但如果點修改後在新增一筆,那SQL語句就就麻煩了。先得用更新語句,再用插入語句,不知道有沒有別的好方法,我的要求是序號這方面只要按最大的取就行了,中間刪除不必要在補上。<br>procedure TForm1.BitBtn1Click(Sender: TObject);<br>var<br> I: Integer;<br>begin<br> dbgridEH1.DataSource.DataSet.First;<br> while not dbgridEH1.DataSource.DataSet.Eof do<br> begin<br>with Qry1 do<br>begin<br> close;<br> sql.clear;<br> sql.add('insert into XDSCE (CE001,CE002,CE003,CE004,CE005) values( ');<br> sql.add(''''+Edit1.text+''','''+edit2.text+''','''+DBGridEH1.DataSource.DataSet.FieldByName('CE003').Text+''', ');<br> sql.add(''''+DBGridEH1.DataSource.DataSet.FieldByName('CE004').Text+''','''+DBGridEH1.DataSource.DataSet.FieldByName('CE005').Text+''')');<br> execsql;<br>end;<br> dbgridEH1.DataSource.DataSet.Next;<br>end;<br>end;