“***********E+*”,是数字的科学计数法。VB把这个数字串当成数字了。 如果确认ID为VARCHAR2类型,直接select id from tablename则ID一般都是字符串的。 也可能是你使用ODBC提取数据的时候类型转换不当。 在其他控件中有SQLQUERY->FILEDS->ASSTRING的强制转换方法。VB中没用过,应该也有类似的。
问题解决了:select to_char(id,'999999999999999999') as id from tbltitle1 union select to_char(id,'999999999999999999') as id from tbltitle2" 这样就不会科学计数了,出来的字符串是18位的,想改变位数,只需改变'999...'就行了。
如果确认ID为VARCHAR2类型,直接select id from tablename则ID一般都是字符串的。
也可能是你使用ODBC提取数据的时候类型转换不当。
在其他控件中有SQLQUERY->FILEDS->ASSTRING的强制转换方法。VB中没用过,应该也有类似的。
先看一下两个id是什么类型的? 如果不是可以用函数转换成字符输出.
这样就不会科学计数了,出来的字符串是18位的,想改变位数,只需改变'999...'就行了。