delphi 语句在数据库新增一条数据
ADOtable1.Close;//连接adotable后做的事情ADOtable1.tablename:='customers';ADOtable1.Open;ifdm...
ADOtable1.Close; //连接adotable后做的事情
ADOtable1.tablename:='customers';
ADOtable1.Open;
if dm1.hw4=1 then //确认为添加事件:1.
begin
with adotable1 do
begin
append; //delphi的方法添加数据
edit;
for i:=2 to 16 do
begin
s1:='edit'+inttostr(i);
xcom2:=findcomponent(s1);
if xcom2<>nil then
fields[i-2].AsString:=trim(Tedit(xcom2).Text);
end;
showmessage(edit2.text);
fieldbyname('Revenue').Asfloat:=strtofloat(edit17.text);
fieldbyname('Employees').Asinteger:=strtoint(edit18.text);
fieldbyname('Owner').ASstring:=trim(edit19.Text);
fieldbyname('StockNo').asstring:=trim(edit20.Text);
post;
end;
showmessage('succeed!');
end;
我是用循环写的,但是总要报错。
数据库建表语句中只有一个主键,数据我填在edit2里面,从edit2 到edit20,还有一个memo写备注的。但是我自己运行测试时,我只输入一个edit2会报错:
将edit17和edit18都加上自定义的0,并且填写好edit2时候。他又会报错:
我明明就把主键弄在了edit2上,为什么会这样?求解! 展开
ADOtable1.tablename:='customers';
ADOtable1.Open;
if dm1.hw4=1 then //确认为添加事件:1.
begin
with adotable1 do
begin
append; //delphi的方法添加数据
edit;
for i:=2 to 16 do
begin
s1:='edit'+inttostr(i);
xcom2:=findcomponent(s1);
if xcom2<>nil then
fields[i-2].AsString:=trim(Tedit(xcom2).Text);
end;
showmessage(edit2.text);
fieldbyname('Revenue').Asfloat:=strtofloat(edit17.text);
fieldbyname('Employees').Asinteger:=strtoint(edit18.text);
fieldbyname('Owner').ASstring:=trim(edit19.Text);
fieldbyname('StockNo').asstring:=trim(edit20.Text);
post;
end;
showmessage('succeed!');
end;
我是用循环写的,但是总要报错。
数据库建表语句中只有一个主键,数据我填在edit2里面,从edit2 到edit20,还有一个memo写备注的。但是我自己运行测试时,我只输入一个edit2会报错:
将edit17和edit18都加上自定义的0,并且填写好edit2时候。他又会报错:
我明明就把主键弄在了edit2上,为什么会这样?求解! 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询