~~~ 变量类型转换问题,送分问题,急用! ~~~

a3skite 2002-09-18 10:53:57
如何把ResultSet里的数据,不管是数值型、Datetime型还是Varchar型,都转换成String? 我用 RS.getObject(2).toString() 和 RS.getblod(2).toString() 都报错


另:如何把数值型(如long)的变量转换为String型?
...全文
96 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
alphazhao 2002-09-23
  • 打赏
  • 举报
回复
楼主应该是使用ODBC数据源访问数据库,那么对于blob类型字段的读取就会存在问题。
另外,其它的类型,比如double,datetime,Decimal等基本上都可以直接使用rs.getString()方法来读取,getString方法本身就使用了toString转换的,绝对可以读取出来。
yongwolf 2002-09-23
  • 打赏
  • 举报
回复
根本不用类型转换,直接用getString()就可以取出来。
可以啊!
DanielYWoo 2002-09-22
  • 打赏
  • 举报
回复
根本不用类型转换,直接用getString()就可以取出来。
wdhs 2002-09-22
  • 打赏
  • 举报
回复
datetime: RS.getdate(), 然后tostring()
数字:"" + rs.getBigDecimal()
wdhs 2002-09-20
  • 打赏
  • 举报
回复
不要用JDBC-ODBC桥
qxjavajava 2002-09-20
  • 打赏
  • 举报
回复
如何把数值型(如long)的变量转换为String型?
----------可以使用String 类直接调用valueOf方法将形如123,1232.98等数值转化为字符串,如:String.valueOf(12313.9876);
lanyunfeng 2002-09-20
  • 打赏
  • 举报
回复
还有你试过直接用getString()方法没,或许可以取出来。
lanyunfeng 2002-09-20
  • 打赏
  • 举报
回复
java.lang.UnsupportedOperationException
应该可以看出J2SDK的JDBC ODBC驱动不支持RS.getblod()和RS.getObject()方法,就算是有些大型数据库厂商提供Type4 JDBC驱动也不一定支持这两个,MS SQL SERVER2000的JDBC好象也不支持getblod()方法。
兄弟,好象得另想办法了^_^
GJA106 2002-09-20
  • 打赏
  • 举报
回复
1.当从数据库中取出数据Object后,最好不要直接用.toString去转换. 而是通过instaneof去匹配对象属于哪种类型. 然后再进行转换.
2.String.valueof()括号里边可以是:int/Integer,long/Long,double/Double,
char...........
IronPromises 2002-09-20
  • 打赏
  • 举报
回复
String str1=""+数值型变量;
beming 2002-09-19
  • 打赏
  • 举报
回复
Long.toString(long);

Double.toString(double);



==================================================================

注意:此人因发表爱国言论,被斑竹hexiao*扣除6分信誉分,问你死未?!

a3skite 2002-09-19
  • 打赏
  • 举报
回复
??????????????????????????????????long 怎么转换为 String?
Double 怎么转换为 String?

datetime 怎么转换为 String?

long 怎么转换为 int?
a3skite 2002-09-19
  • 打赏
  • 举报
回复
str_test = (RS.getObject(i) == null || RS.wasNull())?"":RS.getObject(4).toString();

第i列是Varchar时不报错
是Decimal或Datetime时就报错!
AngusZhang 2002-09-19
  • 打赏
  • 举报
回复
long i = 100;
String str = new Long(i).toString();

RS.getblod(2)
RS.getObject(2)
???
你的数据库中是什么类型,既然你想转换,干脆把数据库中的字段类型写成varchar(1000),然后用RS.getString(2);
wjmmml 2002-09-19
  • 打赏
  • 举报
回复
RS.getblod(2).toString()
当RS.getblod(2)等于null 时你调用tostring()当然包错了。
如下
String a=(RS.getblod(2)==null ? "":RS.getblod(2).toString());
建议你,对于一些特殊类型的数据,你要查一下api,侃侃具体的转换成string类型的特殊方法,因为有些类型你虽然用tostring能转化,但是转化后得到的不是你想要的。
a3skite 2002-09-18
  • 打赏
  • 举报
回复
long i = 100;
String str = Long(i).toString();


Method Long(long) not found in ……

a3skite 2002-09-18
  • 打赏
  • 举报
回复
RS.getObject(2).toString() 的错误信息:
java.lang.NullPointerException

at p_identity.mainApp.CreateInsertSQL.generate(CreateInsertSQL.java:120)

at p_identity.mainApp.mainApp.main(mainApp.java:18)

Exception in thread "main"

注:1. “CreateInsertSQL”即当前类
注:2. 把这句去掉就不报错
注:3. 前面有RS.getLong(), 不报错
a3skite 2002-09-18
  • 打赏
  • 举报
回复
RS.getblod(2).toString() 的错误信息:

java.lang.UnsupportedOperationException

at sun.jdbc.odbc.JdbcOdbcResultSet.getBlob(JdbcOdbcResultSet.java:4168)

at p_identity.mainApp.CreateInsertSQL.generate(CreateInsertSQL.java:120)

at p_identity.mainApp.mainApp.main(mainApp.java:18)

Exception in thread "main"
dmdxu 2002-09-18
  • 打赏
  • 举报
回复
正常数据库得来的无非int,string,几种类型,
toString()都是可以的,
namowen 2002-09-18
  • 打赏
  • 举报
回复
有些类的toString()方法得到的并不是你想要的。
加载更多回复(1)

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧