假设我有一个JDBC ResultSet,并调用getLong()或getshort()方法.
对于以下哪种SQL类型{SMALLINT,INT,BIGINT}我应该变长,以及哪些类型应该出错?
换句话说,如果我有一个INT并且我想要一个SMALLINT(一个简短的),我会得到它,还是会得到一个错误?同样地,如果我有一个INT并想要一个BIGINT(一个很长的),我会得到它,还是会得到一个错误?
Javadocs(下面列出)什么也没说.
public long getLong(int columnIndex)抛出SQLException
Run Code Online (Sandbox Code Playgroud)Retrieves the value of the designated column in the current row这个ResultSet对象在Java编程语言中是一个long.
Run Code Online (Sandbox Code Playgroud)Parameters: columnIndex - the first column is 1, the second is 2, ... Returns: the column value; if the value is SQL NULL, the value returned is 0 Throws: SQLException - if a database access error occurs
Bil*_*ard 10
从Java教程的" 从结果集中检索值"部分:
JDBC允许使用getXXX方法检索不同的SQL类型,具有很大的自由度.例如,方法getInt可用于检索任何数字或字符类型.它检索的数据将转换为int; 也就是说,如果SQL类型是VARCHAR,JDBC将尝试解析VARCHAR中的整数.但是,建议使用getInt方法仅检索SQL INTEGER类型,并且不能将其用于SQL类型BINARY,VARBINARY,LONGVARBINARY,DATE,TIME或TIMESTAMP.
我正在解释这意味着数据将被强制执行.它应该可以正常工作,如果它是一个向上,但我预计可能会失去精度(自然),例如,如果您正在读取LONG值使用getInt().如果您尝试使用文本阅读文本,我希望会抛出异常getInt().
| 归档时间: |
|
| 查看次数: |
11278 次 |
| 最近记录: |