譬如我有一个DBGrid控件,里面显示有N条数据!我随便选择一条数据,点击“修改”它就表显示在我设定的对应EDIT中显示出来!并有修改的功能
为什么我点来点去都是只会显示第一次数据?在“修改”按键加入的代码是:
procedure TForm4.Button2Click(Sender: TObject);
begin
Application.CreateForm(TForm7,Form7);
Form7.ShowModal;
Form7.Free;
end;
在FORM加入的代码是:
procedure TForm7.FormCreate(Sender: TObject);
begin
Edit1.Text:=ADOQuery2.Fieldbyname('IDNO').AsString;
end;
end.
为什么我点来点去都是只会显示第一次数据?在“修改”按键加入的代码是:
procedure TForm4.Button2Click(Sender: TObject);
begin
Application.CreateForm(TForm7,Form7);
Form7.ShowModal;
Form7.Free;
end;
在FORM加入的代码是:
procedure TForm7.FormCreate(Sender: TObject);
begin
Edit1.Text:=ADOQuery2.Fieldbyname('IDNO').AsString;
end;
end.
解决方案 »
- combobox插入问题
- INSERT INTO 问题! 高手请帮忙!!!!!
- 有关SQL语句中case..end的问题?
- 高手请多多帮忙!!Delphi程序中想把大数据量的文件刻录到光盘上要怎么作??
- 自己开发的OCX怎么取得自身的句柄
- 我用的是ADO连接Access,为什么Access数据库设置了密码后却连接不上了,不懂!!!
- 我想在系统中加入电子地图的功能!怎么办?
- 为何我的DBGRID中的数据没有改变?
- 总位高手的心血在此被完全否认:http://202.102.230.155/secrecy/chcrack/chinacrack9.htm
- 各位大虾能不能留下自己的联系方式
- delphi如何简单取得后缀名
- 请问一个数据处理的问题!!1
如果你想带修改功能,建议你用DBEDIT
begin
Edit1.Text=AdoQuery1.FieldByName('字段名').AsString;
end;这个更好用....
楼主说是带修改,而没说要自已写代码处理,所以我说用DBEDIT
procedure TForm4.Button2Click(Sender: TObject);
begin //这里添加了可以修改的代码
Self.ADOQuery2.Edit;
Application.CreateForm(TForm7,Form7);
Form7.ShowModal;
Self.ADOQuery2.Fieldbyname('IDNO').AsString := Form7.Edit1.Text;
Self.ADOQuery2.Post;
Form7.Free;
end;
在FORM加入的代码是:
procedure TForm7.FormCreate(Sender: TObject);
begin //修改的地方,加了Form4指定Edit1.Text的值为Form4的数据集选中记录的值
Edit1.Text := Form4.ADOQuery2.Fieldbyname('IDNO').AsString;
end;
end.
修改功能是有了,但是EDIT里面显示的还是只有第一条记录?procedure TForm7.FormCreate(Sender: TObject);
begin //修改的地方,加了Form4指定Edit1.Text的值为Form4的数据集选中记录的值
Edit1.Text := Form4.ADOQuery2.Fieldbyname('IDNO').AsString;
end;
end.按这个写下去了也不行?
这个很简单的问题搞得那么复杂干什么呢?
引用4楼的代码:
procedure Tform1.adoquery1AfterScroll(DataSet: TDataSet);
begin
Edit1.Text:=AdoQuery1.FieldByName('字段名').AsString;
end;
修改Edit1后,在按回车后或离开Edit后触发修改动作,保存到数据库里去
procedure Tform1.Edit1Exit(Sender: TObject);
begin
AdoQuery1.Edit;
AdoQuery1.FieldByName('字段名').AsString:=Edit1.Text;
AdoQuery1.Post;
end;
或者
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_RETURN then
begin
AdoQuery1.Edit;
AdoQuery1.FieldByName('字段名').AsString:=Edit1.Text;
AdoQuery1.Post;
end;
end;
或者你在點修改按鈕的時候加入:
edit1.text := ADOQuery2.Fieldbyname('IDNO').AsString;