ado问题!!! (30分)

  • 主题发起人 主题发起人 gyfstar
  • 开始时间 开始时间
G

gyfstar

Unregistered / Unconfirmed
GUEST, unregistred user!
 sql.Add('insert into jbzl(number,name,nation,photo,birth,age,culture,marry,sex,');
sql.add('politics,idcard,jiguan,saltype,emptype,startdate,enterdate,depart,zhicheng,');
sql.add('zhiwu,phone,gschool,major,gdate,address)');
sql.add('values (:number,:name,:nation,:photo,:birth,:age,:culture,:marry,:sex,');
sql.add(':politics,:idcard,:jiguan,:saltype,:emptype,:startdate,:enterdate,:depart,:zhicheng,');
sql.add(':zhiwu,:phone,:gschool,:major,:gdate,:address)');

parameters[0].value:=trim(enumber.text);
parameters[1].value:=trim(ename.text);
parameters[2].value:=trim(cnation.text);
parameters[3].value:='';
parameters[4].value:=formatdatetime('yyyy-mm-dd',strtodate(mbirth.text));
parameters[5].value:=strtoint(trim(eage.text));
parameters[6].value:=trim(cculture.text);
parameters[7].value:=trim(cmarry.text);
parameters[8].value:=trim(csex.text);
parameters[9].value:=trim(cpolitics.text);
parameters[10].value:=trim(eidcard.text);
parameters[11].value:=trim(ejiguan.text);
parameters[12].value:=trim(csaltype.text);
parameters[13].value:=trim(cemptype.text);
parameters[14].value:=formatdatetime('yyyy-mm-dd',strtodate(mstartdate.text));
parameters[15].value:=formatdatetime('yyyy-mm-dd',strtodate(menterdate.text));
parameters[16].value:=trim(cdepart.text);
parameters[17].value:=trim(czhicheng.text);
parameters[18].value:=trim(czhiwu.text);
parameters[19].value:=trim(ephone.text);
parameters[20].value:=trim(egschool.text);
parameters[21].value:=trim(emajor.text);
parameters[22].value:=formatdatetime('yyyy-mm-dd',strtodate(mgdate.text));
parameters[23].value:=trim(eaddress.text);

prepared;
try
execsql;
except
showmessage('不能打开数据库');
end;
这段代码什么地方错了呢 运行到 parameters[18].value:=trim(czhiwu.text);
就出现以下错误提示"parameters object is improperly defined ,
          inconsistent or incomplete information was provied."
我调示了一下那句之前是可以下确插入数据库的。

 
为了程序的维护和可读性,你可以采用PARAMETERS.PARAMBYNAME()来操作
 
xxhadsg:按你说的办法改过来了,还是同样的错误
还有别的法子么
 
zhicheng是什么类型?
可这样试试:
with adoquery.parameters.addparameter do
begin
name:=参数名;
datatype:=参数类型;
size:=大小;
end;
加入24个参数
然后
adoquery.parameters.parameterbyname('参数名').value:=值;
 
提示你参数类型定义错误。你检查一下。
 
多人接受答案了。
 
后退
顶部