是这样的,我要把当前记录的值作为新增加的值,当我点击增加的时候,把数据库当前记录的值返回给DBEDIT,然后,我在某些DBEDIT进行修改,然后进行保存,我怕我没有说清楚,我在这里提醒一下.千万不认为是修改的某一条记录,如果是这样只会覆盖以前的值.
解决方案 »
- 关于基于HTTP协议发送的问题
- 一个和工程名相关的问题
- 高分求如何激活远程Com对象,不够再加分
- 如何更改已编译的可执行文件的字符串资源?
- 小妹遇到难题了,求各位神仙的大哥帮忙。100分相送!!!在线等待,急。。。。。。。
- str的问题(急)简单
- me下如何判断某块网卡的DHCP是否enabled?
- Delphi 程序创建一个ini文件,放在程序bin目录下,但是非管理员打开操作软件时会提示不能create".ini"文件
- 请问如何测得现在使用的系统是win9x winme win2000 winxp的方法!!
- 又谁能解释一下create的参数呢?
- xdjm们,我欲低价出售delphi6高级编程,delphi7基础书籍2本,本人在宝山区,有意者与我联系!
- 兩個數據庫之間的操作
如果用,你点增加,你先把当前记录的值放在一个变量里,然后赋给dbedit
这样就行了
如:
if adoquery1.recordcount<>0 then
begin
with adoquery1 do
begin
edit1.text:=fieldbyname('xm').asstring;
.
.
.
end;
end;
在保存按钮中写:
简略写一下:
with adoquery1 do
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('insert into student(xm,xb....)values(:xm,:xb...)');
adoquery1.params.parambyname('xm').asstring:=edit1.text;
........
execute;
var
bookMark: TBook;
cdstemp: TClientDataSet;
i: Integer;
begin
Result := True;
try
try
cdstemp := TClientDataSet.Create(self);
bookMark := cdslist.GetBook;
cdstemp.CloneCursor(cdslist, False, False);
cdslist.Append;
cdstemp.GotoBook(bookMark);
for i := 0 to cdslist.FieldCount - 1 do
cdslist.Fields.Fields[i].Value := cdstemp.Fields.Fields[i].Value;
finally
cdstemp.Free;
end;
except
MsgBox('数据操作错误');
Result := False;
end;
end;