DbGrid用法 delphi 我想手动向DBGRID里面添加记录 不合数据库挂钩如何实现?有帮忙的吗?就是通过代码增加记录! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那你就用 stringgrid吧~~DBGRID是数据感应组件,必须和数据库联接的~~ stringgrid设置row的数量,然后在cell中写数据StringGrid1.RowCount := 100;StringGrid1.Cells[1,1] := 'abc'; 以下是一个StringGrid1保存数据至数据库的例子: with StringGrid1 do for i:=1 to RowCount-1 do begin with dbfm5.stdqry do dbfm5.stdqry.Close; dbfm5.stdqry.SQL.Clear; dbfm5.stdqry.SQL.Add('select * from bmtg'); dbfm5.stdqry.Open; dbfm5.stdqry.Insert; dbfm5.stdqry.FieldByName('tg001').AsString:=trim(edit1.Text); dbfm5.stdqry.FieldByName('tg002').AsString:=cells[0,i]; dbfm5.stdqry.FieldByName('tg003').AsString:=cells[1,i]; dbfm5.stdqry.FieldByName('tg004').AsString:=cells[2,i]; dbfm5.stdqry.FieldByName('tg005').AsString:=cells[3,i]; dbfm5.stdqry.FieldByName('tg006').AsString:=cells[4,i]; dbfm5.stdqry.FieldByName('tg007').Value:=strtofloat(cells[5,i]); dbfm5.stdqry.FieldByName('tg008').Value:=strtofloat(cells[6,i]); dbfm5.stdqry.FieldByName('tg009').Value:=strtofloat(cells[7,i]); dbfm5.stdqry.FieldByName('tg010').Value:=strtofloat(cells[8,i]); dbfm5.stdqry.FieldByName('tg011').Value:=strtofloat(cells[9,i]); dbfm5.stdqry.FieldByName('tg012').Value:=strtofloat(cells[10,i]); dbfm5.stdqry.FieldByName('tg013').Value:=strtofloat(cells[11,i]); dbfm5.stdqry.FieldByName('tg014').Value:=strtofloat(cells[12,i]); dbfm5.stdqry.FieldByName('tg018').AsString:=cells[13,i]; dbfm5.stdqry.FieldByName('tg017').AsString:=cells[14,i]; dbfm5.bjcon.BeginTrans; try dbfm5.stdqry.Post; dbfm5.bjcon.CommitTrans; except dbfm5.bjcon.RollbackTrans; MessageDlg('数据保存失败,请检查输入的数据后重新执行或数据已经存在',mtError,[mbok],0); exit; end; end; clientdataset 创建内存表clientdataset.fieldsdefs.add('字段1',ftstring,10,false);clientdataset.fieldsdefs.add('字段2',ftstring,10,false);Clientdataset.CreateDataSet;datasoruce.dataset:=clientdataset;clientdataset.open;至于剩下的就是很普通的DBGRID操作差不多了 求解,程序出现Invalid pointer operation错误 在(hint)显示的提示中加入事件,并且支持鼠标点击 会UDP的进来看下。 ** 关于ADO 主从表的UpdateCatch (批量更新) 问题,请高人指教? 关于窗体的释放??? 封装封装再封装,你很喜欢SQL吗?需要分的进来,讨论请到第一张贴子里 控件怎么删除 FastReport报表如何写代码控制页面设置? ListBox简单问题 我用Tqrshape拼了一张报表,但往上面放dbtext时,总处于下面看不到,应该如何设,使dbtext处在上层? 求一路由表函数 有关操作TXT文件与数据库的问题
DBGRID是数据感应组件,必须和数据库联接的~~
StringGrid1.Cells[1,1] := 'abc';
with StringGrid1 do
for i:=1 to RowCount-1 do
begin
with dbfm5.stdqry do
dbfm5.stdqry.Close;
dbfm5.stdqry.SQL.Clear;
dbfm5.stdqry.SQL.Add('select * from bmtg');
dbfm5.stdqry.Open;
dbfm5.stdqry.Insert;
dbfm5.stdqry.FieldByName('tg001').AsString:=trim(edit1.Text);
dbfm5.stdqry.FieldByName('tg002').AsString:=cells[0,i];
dbfm5.stdqry.FieldByName('tg003').AsString:=cells[1,i];
dbfm5.stdqry.FieldByName('tg004').AsString:=cells[2,i];
dbfm5.stdqry.FieldByName('tg005').AsString:=cells[3,i];
dbfm5.stdqry.FieldByName('tg006').AsString:=cells[4,i];
dbfm5.stdqry.FieldByName('tg007').Value:=strtofloat(cells[5,i]);
dbfm5.stdqry.FieldByName('tg008').Value:=strtofloat(cells[6,i]);
dbfm5.stdqry.FieldByName('tg009').Value:=strtofloat(cells[7,i]);
dbfm5.stdqry.FieldByName('tg010').Value:=strtofloat(cells[8,i]);
dbfm5.stdqry.FieldByName('tg011').Value:=strtofloat(cells[9,i]);
dbfm5.stdqry.FieldByName('tg012').Value:=strtofloat(cells[10,i]);
dbfm5.stdqry.FieldByName('tg013').Value:=strtofloat(cells[11,i]);
dbfm5.stdqry.FieldByName('tg014').Value:=strtofloat(cells[12,i]);
dbfm5.stdqry.FieldByName('tg018').AsString:=cells[13,i];
dbfm5.stdqry.FieldByName('tg017').AsString:=cells[14,i];
dbfm5.bjcon.BeginTrans;
try
dbfm5.stdqry.Post;
dbfm5.bjcon.CommitTrans;
except
dbfm5.bjcon.RollbackTrans;
MessageDlg('数据保存失败,请检查输入的数据后重新执行或数据已经存在',mtError,[mbok],0);
exit;
end;
end;
clientdataset.fieldsdefs.add('字段2',ftstring,10,false);Clientdataset.CreateDataSet;datasoruce.dataset:=clientdataset;clientdataset.open;至于剩下的就是很普通的DBGRID操作差不多了