如何在oracle数据库中插入BigInteger值

时间:2010-06-21 15:23:16

标签: java oracle

我试图在oracle database.i m中插入BigInteger值,尝试这样:

BigInteger a=new BigInteger("4280972057205720579205792572075927209857");
String str=new String(a.toByteArray());

现在在数据库中:

 PerparedStatement pstmt=con.prepareStatement("insert into database values(?)");
 pstmt.setString(1,str);
pstmt.executeUpdate();

如果我正在使用str="hello"那么它工作正常。但是如果我正在使用str=new String(a.toByteArray())那么在数据库中没有插入任何内容(null)。为什么它是如此。请解释并建议一些方法这样做。

2 个答案:

答案 0 :(得分:3)

BigInteger.toByteArray()的文档:

  

返回包含此BigInteger的二进制补码表示的字节数组。字节数组将采用big-endian字节顺序:最重要的字节位于第0个元素中。

这与在Decimal中表示它无关!您想使用BigInteger.toString()来获取字符串。

答案 1 :(得分:0)

使用方法toString()

String str=a.toString();