SolveItproblems

SolveITProblems is a project of QFormat.net intellectual club

SolveITProblems это проект интеллектуального клуба QFormat.net

вторник, 19 октября 2010 г.

My Java Reusable Methods. public DefaultTableModel query2TableModel(String query)

Этот метод как видно из его названия, поможет вам превратить любой запрос в модель для таблицы, и вы способны отображать результаты любого запроса в вашем Swing-овском jTable.
После того как метод скопирован в "видимое" место достаточно записать следующее




String query = "select t1.medicine_id,t1.medicine_name,t2.form_name,t3.country_name,t1.norma,t4.measure_name,t5.group_name from jea_medicines t1,jea_forms t2,jea_countries t3,jea_measures t4,jea_groups t5"
" where t1.form_id = t2.form_id and t1.country_id = t3.country_id and t1.measure_id = t4.measure_id and t1.group_id = t5.group_id";
jTable4.setModel(controller.query2TableModel(query));

Запрос может быть намного хуже, главное чтобы он возвращал записи :) .

Барабанная Дробь!!!
А вот и собственно сам код метода:



public DefaultTableModel query2TableModel(String query)
{

Vector columnNames = new Vector();
Vector data = new Vector();
Vector rows = new Vector();

try {
ResultSet rs = connect.getStatement().executeQuery(query);
ResultSetMetaData rsm = rs.getMetaData();
//Getting column Names
int columnCount = rsm.getColumnCount();
String id="";
for (int i=1;i<columnCount 1;i  )
{
if (i==1)
{
id = rsm.getColumnName(i);
columnNames.add(id);
}
else
{
columnNames.add(rsm.getColumnName(i));
}
}
//END getting columnNames


while (rs.next())
{
for (int i=1;i<columnCount 1;i  )
{
rows.add(rs.getString(i));
}
data.add(rows);
rows=new Vector();
}

} catch (Exception e) {
System.out.println("Exceptionin query2TableModel. " e);
}

DefaultTableModel dtm = new DefaultTableModel(data, columnNames);
return dtm;
}

Комментариев нет:

Отправка комментария