Member 12986818 Ответов: 1

Извлечение имен столбцов из базы данных вместе с таблицей


Я хочу отобразить строку имени столбца при доступе к таблице. Вот я и попробовал этот код... но только таблица отображается без имени столбца. Я использовал java eclipse и базу данных sqlite

Что я уже пробовал:

таблица = новый jtable, выполните следующие действия();
таблица. setBounds(86, 92, 773, 307);
Jtableheader header = table.getTableHeader();
header.setBackground(цвет.желтый);
contentPane.добавить(табл.);

пробовать
{
String query= " Select * from Inquiry";
PreparedStatement pst=conn. prepareStatement(запрос);
ResultSet rs=pst. executeQuery();
стол.число(DbUtils.resultSetToTableModel(РС));
}
catch(исключение e)
{
е.печатные();
}



пожалуйста, дайте решение для этого

1 Ответов

Рейтинг:
1

Garth J Lancaster

Существует по крайней мере два метода - один с использованием SQLite PRAGMA table_info(table-name) - так что это может выглядеть следующим образом :-

String tableName = "enquiry"; // your table name
Cursor c = db.rawQuery("PRAGMA table_info(" + tableName + ")", null);
if (c.moveToFirst()) {
    do {
        System.out.println("name: " + c.getString(1) + " type: " + c.getString(2));
    } while (c.moveToNext());
}
c.close();


или, используя ResultSetMetaData - смотрите эти ссылки для примеров Java-код для получения имен столбцов таблицы с помощью ResultSetMetaData[^] и Ява &амп; с JDBC &амп; базы данных SQLite: получение данных из выбранных пользователем из таблицы БД и показать в jtable, выполните следующие действия[^]


Member 12986818

окей...Спасибо

Member 12986818

сэр, я попробовал 2-й.. считывание данных от пользователя...но все равно имя столбца не отображается..вот код

пробовать
{
String query= " Select * from Inquiry";
PreparedStatement pst=conn. prepareStatement(запрос);
ResultSet rs=pst. executeQuery();

Данные resultsetmetadata РСМД = РС.getMetaData();
инт свойств = РСМД.getColumnCount();
DefaultTableModel tm = (DefaultTableModel) table. getModel();

for (int i=1;i<=columnCount;i++)
{
ТМ.addColumn(РСМД.getColumnName(я));
}

а (РС.далее())
{
String[] a = новая строка[columnCount];
for (int i = 0; i < columnCount; i++)
{
a[i] = rs. getString(i+1);

}
tm. addRow(a);
// Тум.fireTableDataChanged();

РС.рядом();
пст.рядом();
}
}

catch(исключение e)
{
е.печатные();
}
}