procedure Toverh.LbButton2Click(Sender: TObject);
var
ptrow:integer;
begin
for ptrow:=1 to stringgrid1.RowCount -1 do;
//PTROW:=1;
begin
Edit1.text:=StringGrid1.Cells[1,ptrow];
Edit2.text:=StringGrid1.Cells[2,ptrow];
Edit3.text:=StringGrid1.Cells[3,ptrow];
Edit4.text:=StringGrid1.Cells[4,ptrow];
Edit5.text:=StringGrid1.Cells[5,ptrow];
Edit6.text:=StringGrid1.Cells[6,ptrow];
Edit7.text:=StringGrid1.Cells[7,ptrow];
Edit8.text:=StringGrid1.Cells[8,ptrow];
end;
当ptrow单独定义为1或者是2的时候可以读出数据来...加循环后至少编辑框里的内容应该为最后一条的数据
但加上循环后根本读不出数据
var
ptrow:integer;
begin
for ptrow:=1 to stringgrid1.RowCount -1 do;
//PTROW:=1;
begin
Edit1.text:=StringGrid1.Cells[1,ptrow];
Edit2.text:=StringGrid1.Cells[2,ptrow];
Edit3.text:=StringGrid1.Cells[3,ptrow];
Edit4.text:=StringGrid1.Cells[4,ptrow];
Edit5.text:=StringGrid1.Cells[5,ptrow];
Edit6.text:=StringGrid1.Cells[6,ptrow];
Edit7.text:=StringGrid1.Cells[7,ptrow];
Edit8.text:=StringGrid1.Cells[8,ptrow];
end;
当ptrow单独定义为1或者是2的时候可以读出数据来...加循环后至少编辑框里的内容应该为最后一条的数据
但加上循环后根本读不出数据
或者在循环体里下断点,看看是执行进去了吗?
能够读到数据....晕死了...我.
StringGrid1.RowCount:=StringGrid1.RowCount-1;
if StringGrid1.Cells[6,StringGrid1.row]='' then
showmessage('数量不能为空!') else
ADOTable1.Active:=true;
for A:=1 to StringGrid1.RowCount-1 do
begin
ADOtable1.Append;
ADOtable1.FieldValues['编号']:=Groupbox4.Caption;
ADOtable1.FieldValues['编码']:=StringGrid1.Cells[1,a];
ADOtable1.FieldValues['名称']:=StringGrid1.Cells[2,a];
ADOtable1.FieldValues['规格']:=StringGrid1.Cells[3,a];
ADOtable1.FieldValues['单位']:=StringGrid1.Cells[4,a];
ADOtable1.FieldValues['单价']:=StringGrid1.Cells[5,a];
ADOtable1.FieldValues['数量']:=StringGrid1.Cells[6,a];
ADOtable1.FieldValues['金额']:=StringGrid1.Cells[7,a];
ADOtable1.FieldValues['性质']:=StringGrid1.Cells[8,a];
end;
ADOtable1.post;
就OK...狂晕
本来是想用INSERT into 来保存数据到access就是因为这个循环读不出数据,SQL提示表达式有问题...
改成ADOtable1居然一次通过...STRINGGRID表中的数据居然能正常读出.....虽然成功了.但是仍然没明白是什么回事.
for ptrow:=1 to stringgrid1.RowCount -1 do; 最后多了一个分号,去掉就可以,象:
for ptrow:=1 to stringgrid1.RowCount -1 do
begin
……
end;
Edit2.text:=StringGrid1.Cells[2,ptrow];
Edit3.text:=StringGrid1.Cells[3,ptrow];
Edit4.text:=StringGrid1.Cells[4,ptrow];
Edit5.text:=StringGrid1.Cells[5,ptrow];
Edit6.text:=StringGrid1.Cells[6,ptrow];
Edit7.text:=StringGrid1.Cells[7,ptrow];
Edit8.text:=StringGrid1.Cells[8,ptrow];
当年我也和楼主一样,1,2,3,4,5,。写下去过。。