读书人

插入一条记录有关问题

发布时间: 2012-02-21 16:26:23 作者: rapoo

插入一条记录问题
我向表中插入一条记录,表中有这样字段,GoodsName,GoodsUnit,GoodsPrice,Classid,GoodsMemo,其中,Classid,是引用外表的一个主键,外表中还有一个ClassName的字段,我在窗体上放一个ComboBox1对像,当窗体Create时来显示外表中的ClassName字段值,我写了如下程序:
try
begin
Close;
SQL.Clear;
SQL.Add( 'insert tgoodsinfo (goodsname,goodsunit,goodsprice,classid,goodsmemo) ');
SQL.Add( ' values(:a,:b,:c,:d,:e) ');
Parameters.ParamValues[ 'a ']:= Trim(LabeledEdit1.Text);
Parameters.ParamValues[ 'b ']:= Trim(LabeledEdit2.Text);
Parameters.ParamValues[ 'c ']:= Trim(LabeledEdit3.Text);
Parameters.ParamValues[ 'd ']:= ?????//这里应该怎么写?
Parameters.ParamValues[ 'e ']:= Trim(Memo1.Text);
ExecSQL;
frmGoodsInfo.FormShow(Sender);
Application.MessageBox( '信息添加成功 ', '系统提示 ',MB_OK);
end;
except
on e: Exception do
Application.MessageBox(PChar(e.Message+ '信息添加失败 '), '系统提示 ',0+16);
end;
???的地方应该怎么写,如果写成Parameters.ParamValues[ 'd ']:= ComboBox1.Text; 是不对的,我知道如果在创建窗体的时候让ComboBox1显示Classid字段的值这样做是可以的。但我想让其显示ClassName的值,所以在Insert的时候那个???的地方不知道怎么处理了。谁知道怎么做 谢谢了!有其它办法也行!

[解决办法]
不是很明白.
ClassID这个值是可以确定的吗?能否在另外一个表中查出来?可以的话就做个查询
如果是个不确定的值,则先值个空值,等确定的时候再做一次修改就可以了
[解决办法]
什么类型的ComboBox?
DBLookupComboBox的话KeyValue返回id值
[解决办法]
你需要声明变量与这个classname对应的.

读书人网 >.NET

热点推荐