gpt4 book ai didi

java - 不支持从日期时间到 INTEGER 的转换

转载 作者:太空宇宙 更新时间:2023-11-04 14:16:33 24 4
gpt4 key购买 nike

我遇到异常

com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from datetime to INTEGER is unsupported.

我的代码是

public int[][] beam_CurrentStatus() {
int arr[][] = new int[1][31];
int i = 0;
try

{
con = getConnection();
stmt = con.createStatement();

String sql = "SELECT TOP 1 c.logtime, a.BL1_data_SS_ST,a.BL2_data_SS_ST,a.BL3_data_SS_ST,a.BL4_data_SS_ST,a.BL5_data_SS_ST,a.BL6_data_SS_ST,a.BL7_data_SS_ST,a.BL8_data_SS_ST,a.BL9_data_SS_ST,a.BL10_data_SS_ST,a.BL11_data_SS_ST, a.BL12_data_SS_ST,a.BL13_data_SS_ST,a.BL14_data_SS_ST,a.BL15_data_SS_ST,a.BL16_data_SS_ST,a.BL17_data_SS_ST,a.BL18_data_SS_ST,a.BL19_data_SS_ST,a.BL20_data_SS_ST,a.BL21_data_SS_ST,a.BL22_data_SS_ST,a.BL23_data_SS_ST,a.BL24_data_SS_ST,a.BL25_data_SS_ST,a.BL26_data_SS_ST,a.BL27_data_SS_ST,b.st1_prmt_status_p45,c.beam_current,c.beam_energy from INDUS2_BLFE.dbo.main_BLFE_status a inner join INDUS2_MSIS.dbo.main_MSIS_status b on a.logtime=b.logtime inner join INDUS2_BDS.dbo.DCCT c on b.logtime=c.logtime ORDER BY c.logtime DESC ";

stmt.executeQuery(sql);
rs = stmt.getResultSet();

while (rs.next()) {
for (int j = 1; j < 31; j++) {
if ((rs.getInt(j)) == 1)

arr[i][j] = rs.getInt(j + 1);

}


}
} catch (Exception e) {
System.out.println("\nException in Bean " + e);
} finally {
closeConnection(stmt, rs, con);
}

return arr;


}

此外,输出如下

[[I@1783d33

如何解决问题。

最佳答案

数据库字段日期时间不会自动映射为整数。您应该使用 rs.getDate() 方法,该方法返回 java.sql.Date 对象。您可以将此对象转换为 long (不是 int),表示自 1970 年 1 月 1 日 0:00 以来的毫秒数

关于java - 不支持从日期时间到 INTEGER 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27654214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com