delphi+ODAC:ToraQuery + ToraUpdateSQL
有点长,请耐心看完 :)
qryHouseParent(ToraQuery 控件)SQL语句为:
select userid,username,userage from users
qryHouseParent属性Updateobject 设置为:UpdateSQL1(ToraUpdateSQL 控件)
UpdateSQL1的insertL语句:
insert into userparent(userid, userage) values(:userid,:username)(注:userparent表只有这两个字段)
源码:
qryHouseParent.Append;
qryHouseParent.FieldByName('FParentID').AsString := ParentList.Strings[cbxParent.ItemIndex];
qryHouseParent.FieldByName('HouseCode').AsString := fmSysOption.HouseCode;
qryHouseParent.Post;
Post时报错:Field‘username’ must have a value.
这个程序原为BDE连接,后通过BDE Migration Wizard将程序转换成了ODAC的连接方式。
用BDE连接时,插入正常,不报错.
请教原因以及解决方法!
[解决办法]
从提示判断username肯定是没赋上值,
FParentID
HouseCode
这两个不是字段名么
[解决办法]
qryHouseParent查询:select userid,username,userage from users
添加数据时也用qryHouseParent(虽然更新用的是UpdateSQL1),但查询的3个字段都见不到userid,username,userage
而FParentID,HouseCode却不知道从那跑出来的?
而错误提示,明显就是username要有赋值,你在考大家是吧? 我实在看不懂啊!!!!
[解决办法]
参数要分别赋值,就是相同名字的参数也要分开赋值。
[解决办法]
qryHouseParent.FieldByName('FParentID').AsString := ParentList.Strings[cbxParent.ItemIndex];
qryHouseParent.FieldByName('HouseCode').AsString := fmSysOption.HouseCode;
这连个字段是怎么回事。
看的云里雾里的。