【发布时间】:2014-12-26 07:34:56
【问题描述】:
我遇到了异常
com.microsoft.sqlserver.jdbc.SQLServerException:不支持从 datetime 到 INTEGER 的转换。
我的代码是
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;
}
此外,输出如下
[[我@1783d33
如何解决问题。
【问题讨论】:
-
尝试使用 rs.getDate(j),其中 j 是日期时间列。