如何把数据插入主表中?

yschat2010 2010-05-04 12:41:38
大概思路是这样的,
1、新建一个窗体spdawh,用来显示详细信息。放了一个Table1(ADOTable1控件)用来连接主表sqda,ADOTable3控件连接从表GHSDA,连接keyfield是mainghs。最后用TDBGrid来显示详细信息。再放一个按钮,用来触发显示editsp窗体,代码如下:
procedure Tspdawh.BitBtn1Click(Sender: TObject);
begin
try
Application.CreateForm(Teditsp, editsp);
editsp.ShowModal;
finally
editsp.close;
end;
end;
2、在Teditsp窗体中放了一个导航控件wwDBNavigator,有修改和插入等功能,代码如下:
procedure Teditsp.NewCode(Sender: integer);//自动获取编号
var code: string;
begin
Query1.Close;
Query1.sql.text := 'select count(*) from spda';
Query1.open;
code := floattostr(100000 + Query1.Fields[0].asfloat + Sender);
Query1.Close;
Query1.sql.text := 'select count(*) from spda where code=:code';
Query1.Parameters[0].Value := code;
Query1.open;
if Query1.Fields[0].Value > 0 then
begin
Sender := sender + 1;
Newcode(sender);
end
else
begin

spdawh.Table1.FieldByName('code').value := code;
end;
end;

procedure Teditsp.wwDBNavigator1InsertClick(Sender: TObject);//插入数据
begin

spdawh.Table1.Insert;
NewCode(0);
spdawh.Table1.FieldByName('czsp').value := '0';
spdawh.Table1.FieldByName('zhsp').value := '0';
spdawh.Table1.FieldByName('sybz').value := '1';

end;

当插入数据时,出现错误提示:EOLeException with message'发生未知错误'。跟踪后发现这几个地方有问题:
spdawh.Table1.FieldByName('code').value := code;
spdawh.Table1.FieldByName('czsp').value := '0';
spdawh.Table1.FieldByName('zhsp').value := '0';
spdawh.Table1.FieldByName('sybz').value := '1';

后来我把窗体spdawh的从表去掉?再进行同样的操作,正常!!要怎么修改才能把数据插入主表sqda中?谢谢!!
...全文
58 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengemail8 2010-06-03
  • 打赏
  • 举报
回复
spdawh.Table1.FieldByName('@czsp').value := '0';
spdawh.Table1.FieldByName('@zhsp').value := '0';
spdawh.Table1.FieldByName('@sybz').value := '1'


参数前加@

存储过程里是这样的,不知道你这个是不是要加
yschat2010 2010-05-04
  • 打赏
  • 举报
回复
对不起,完整设置如下:
FieldKind:fkLookup
Keyname:ghsname
keyfields:mainghs
LookupDataSet:ADOTable3
LookupkeyFields:code
LookupResultField:name
yschat2010 2010-05-04
  • 打赏
  • 举报
回复
补充说明:我是想把主表的信息和子表ghsname(供货商名称)一起显示到dhgrid中。于是把ghsname字段名一起添加到控件Table1中两个表关联属性如下:
FieldKind:fkLookup
Keyname:ghsname
keyfields:mainghs

不知我说清楚没有?请高手指点,谢谢!!

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧