把一个整数写入Oracle的一个字段中,字段类型number(38)(100分)

  • 主题发起人 主题发起人 zdwrq
  • 开始时间 开始时间
Z

zdwrq

Unregistered / Unconfirmed
GUEST, unregistred user!
for i:=1 to fData.SQLQuery.RecordCount do
begin

str:='insert into zz_pz values(:P1,:P2,:P3,:P4,:P5,:P6,:P7,:P8,:P9,:P10,'
+' :P11,:P12,:P13,:P14,:P15,:P16,:P17,:P18,:P19,:P20,:P21,:P22,:P23)';
fData.OraQuery.Close;
fData.OraQuery.SQL.Clear;
fData.OraQuery.SQL.Add(str);
fData.OraQuery.ParamByName('P1').AsInteger:=i;
fData.OraQuery.ParamByName('P2').AsString:=dwbm;
fData.OraQuery.ParamByName('P3').AsString:=SQLDate;
....
fData.OraQuery.ExecSQL;
fData.SQLQuery.Next;
end;
可我用Delphi自带的SQL Monitor跟踪时发现
Param=1,Name=,type=fldFloat,...Data=1.000000
请问,参数1怎么变成Float型的呢,我的字段要求自动编号,应该写入一个整型的数据。
请各位多多帮助?!!
 
是不是你的字段类型number的decimal制设的不对
 
字段类型是别人设置的,我只是要在原来的表中增加一些数据
 
在给参数付值之前, 需要设置参数类型 ParamType
 
我们平时用都可以啊!
实在不行的话,你不妨生成SQl语句提交就行了,

不要ParamByName了
 
数据库里的类型是number类型的,小数位不对
把该字段的类型改为number(4,0),总长度为4,小数位为零。
如果长度不够,可以把总长度改大一些。
由于oracle的字段只能改大,不能改小,你只有先删了该字段,在重建!!
 
我的意思和book523老兄的一样,呵呵
 
后退
顶部