在线等D7+SQL SERVER 2000的问题.
ADOQuery1,ADOQuery2,DataSource1,DataSource2 1连1 2连2
数据库两个表
T1
ID BIGINT 主键
DATA CHAR(10)
T2
ID BIGINT 主键
T1ID BIGINT
DATA CHAR(10)ADOQuery2.DataSource:=DataSource1;ADOQuery1.SQL, SELECT * FROM T1 WHERE DATA='OK'
ADOQuery2.SQL, SELECT * FROM T2 WHERE T1ID= :ID and DATA='OK'运行后两表都正常打开.第一个表一切正常,当第二个表T2添加记录的时候出现错误:
Cannot access field'ID'as type Variant.我想不出我的程序哪错啦?我真不理解为啥出这个错.我这个有急用啊.求大侠啦.....呜呜.我哭啦.
ADOQuery1,ADOQuery2,DataSource1,DataSource2 1连1 2连2
数据库两个表
T1
ID BIGINT 主键
DATA CHAR(10)
T2
ID BIGINT 主键
T1ID BIGINT
DATA CHAR(10)ADOQuery2.DataSource:=DataSource1;ADOQuery1.SQL, SELECT * FROM T1 WHERE DATA='OK'
ADOQuery2.SQL, SELECT * FROM T2 WHERE T1ID= :ID and DATA='OK'运行后两表都正常打开.第一个表一切正常,当第二个表T2添加记录的时候出现错误:
Cannot access field'ID'as type Variant.我想不出我的程序哪错啦?我真不理解为啥出这个错.我这个有急用啊.求大侠啦.....呜呜.我哭啦.
不要用asValue,因为你的问题不是很详细
只能给点建议拉
T2 ID BIGINT(主键),不允许有空值,或者非唯一性的值,也不允许非整型的值。
??
你是不是把数据源搞错了
一点插入就出错啦.还没到负值的地方呢.to 强制指定ID类型
怎么强制,我就直接用DELPHI提供的添加删除记录按钮.to 你是不是把数据源搞错了
DataSource1.DataSet:=ADOQuery1;
DataSource2.DataSet:=ADOQuery2;
ADOQuery2.DataSource:=DataSource1;
这样错了吗?我插入记录没有用代码. 都是用的感知控件.
adoquery2.parameters[0].value:=id的值;
但是我还没有到POST的时候,就是在插入前就出错了.
也就是插入操作根本就没成功.就出错了.
adoquery2.parameters[0].value:=id的值;这条语句根本执行不到就挂了.
我用的全是自动感知控件,就是说我一行代码都没写.除了选择SQL语句.
我的实例更复杂些.不过原理相同.
我用两adoquery试了下没有问题;
注意两点:1.两个adoQuery的字段为永久性字段
2.从adoQuery的字段id属性readonly =false
你可以试一下