2010-01-20 50 views
2

这是我的代码,但它givas错误请你帮我(在MySQL的我有了VARCHAR名,VARCHAR地址和VARCHAR电话和TINYINT年龄和BIGINT收费表)我们如何使用BigInt?

我要插入一个名字和地址,电话和年龄与调用此方法。但它会给出错误行insertARow("Adam Smit","21 First Avenue, Fairlyland, 87654","123456789",35);
错误:创建一个InsertARow方法(字符串,字符串,字符串,诠释);

类:

insertARow("Adam Smit","21 First Avenue, Fairlyland, 87654","123456789",35); 


} 

private static void insertARow(String name,String address,String telephone,BigInt age) { 

} 
+0

没有Java类型的BigInt,除了sun.security.util,但你不应该使用它。你使用第三方库吗? – 2010-01-20 10:50:34

+0

@Arne:参见http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html – 2010-03-11 12:53:15

+0

@Jim:我知道BigInteger,但编译器不知道BigInt。 – 2010-03-11 22:13:19

回答

2

BIGINT in MySQL是一个64位整数类型,这样可以为正在使用的SIGNED简单地处理它作为在Java long(和/或Long)值,只要变种。

如果您要支持UNSIGNED BIGINT,则必须在Java中处理值为java.math.BigInteger

既然你没有显示任何实际与数据库(JDBC)接口的代码,我不能告诉你你做错了什么。

+0

long或long在这里没有区别吗?也没有签名。 – Johanna 2010-01-20 10:29:09

+0

“long”和“Long”之间的数据范围没有区别。当然,不同的是一个是原始类型,而另一个是Wrapper类。但这超出了这个问题的范围。 – 2010-01-20 10:30:33

+0

你能帮我,我怎么能发送一个BigInt时代到sql表(在我的代码中)(我使用年龄类型作为BigInt! – Johanna 2010-01-20 10:44:10

0

您的代码正试图将BigInt用作Java类型,该类型将不会编译。正如Joachim提到你需要在Java中使用longLong