前面问过的double类型转换到SQL SERVER里面的decimal的问题,发现不能用IDL的addrecord,换成执行sql语句,insert into就可以,不过我遇到的问题是,我的数据是从文件里读出来赋值在double型变量里的,所以我需要循环操作,将变量的值添加到对应的数据库decimal字段里,在网上搜了好久,比如我的double型变量为a,我建了一个测试的表,只有一个字段。那么有人说用insert into table1 values(“&a&”)等等,好像都是转换成字符型了吧,这样的话会出错,写不进decimal字段的……不知道大家都是怎么处理这样的问题的,没有直接的添加数值型变量的方法吗?

解决方案 »

  1.   

    insert into table1 values(&a&)
      

  2.   

    insert into table1 values(“&a&”)就是这么用的.如果是SQL SERVER的话,使用变量方法如下:
    declare @a as decimal(18,2)
    set @a = 18.2
    insert into table1(某字段) select @a
      

  3.   

    我用insert into table1 values(“&a&”)试过了,IDl出来的错误提示是从字符型到数值型转换的错误。还有declare的这个方法有个问题是,我并不知道@a的具体值,因为这个值是数据文件里的,我将其读出来赋给a,然后添加到表里去,在表里显示出来后我才知道呢。 像我这样的情况有适合的方法吗?
      

  4.   

    我试着将字段类型和a都改成字符型之后,用insert into table1 values('''&a&''')就可以啊
    可是将它们换回数值型用insert into table1 values("&a&”)就是不可以……  程序应该是没有问题的,好头疼啊~ 又不能用declare……