Код для getDbTable()
является:как получить один параметр из Resultset в массив строк
public String[][] getDbTable(String vs_name)
{
int i = 0;
String a[][] = new String[3600][16];
System.out.println("datetime is" +d);
System.out.println("datetime is" +currentDate);
try
{
con = getConnection();
String sql = "exec vcs_gauge @gauge_name=?,@first_rec_time=?,@last_rec_time=?";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("date is "+df.format(currentDate));
clstmt = con.prepareCall(sql);
clstmt.setString(1,"vs1_bag");
clstmt.setString(2, "2014-09-01 10:00:00");
clstmt.setString(3, "2014-09-01 11:00:00");
clstmt.execute();
rs = clstmt.getResultSet();
while (rs.next())
{
for(int j=0; j<16; j++)
{
a[i][j] = rs.getString(j+1);
}
i++;
}
}
catch(Exception e)
{
System.out.println("\nException in Display Bean in getDbTable(String code):"+e);
}
finally
{
//closeConnection();
}
return a;
}
Как получить один параметр из ResultSet
в String
типа массива. Я хочу получить «logtime», который является моим первым столбцом в таблице и сохранит его в String Array. Я попытался следующий код:
public String[] getcahrttime() throws SQLException
{
getConnection();
getDbTable(vs_name);
String[] timeStr = null;
while(rs.next()){
char[] time= rs.getString("logtime").toCharArray();
timeStr = new String[time.length];
for (int i=0,len=time.length; i<len; i++){
timeStr[i] = String.valueOf(time[i]);
}
}
System.out.println("time is"+timeStr);
return timeStr;
}
где getConnection
устанавливает соединение и getDbTable(vs_name)
возвращает таблицу со всеми столбцами в нем.
Когда я запускаю вышеуказанный код, тогда timestr
получает null
значение. Как исправить проблему.
Что такое 'rs' /' vs_name', что такое код в 'getConnection' и' getDbTable'? –
Можете прояснить, что вы хотите здесь? Если в базе данных есть три строки, вы хотите, чтобы результат был трехэлементным массивом, причем каждый элемент был значением одной строки? Ваш текущий подход выглядит ... другим. –
Попробуйте использовать отладчик и выполните свой код. Если timeStr равно NULL, это скорее всего из-за чего-то не так, как раньше. Используя выходные трассировки отладчика (System.out.println (yourVariable)) проверьте, соответствуют ли все другие значения вашим ожиданиям. – markus