Code /* * Тестовый пример работы через драйвер JDBC с СУБД MySQL * База данных telbook * Оконное приложение с применением SWT * Выводим содержимое таблицы * * 2010 год. * IDE - Eclipse */
import java.sql.*; import org.eclipse.swt.*; import org.eclipse.swt.widgets.*; import org.eclipse.swt.layout.*;
public class TestJDBCswt { static Connection con;
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); RowLayout layout = new RowLayout(SWT.VERTICAL); layout.wrap = true; layout.fill = true; layout.justify = false; layout.pack = true; shell.setLayout(layout); Table table = new Table(shell, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION); table.setLinesVisible(true); table.setHeaderVisible(true); String drv = "com.mysql.jdbc.Driver"; // Адрес драйвера String url = "jdbc:mysql://localhost/telbook"; // База данных String login = "root"; // Логин String pwd = ""; // Парольчик ResultSet result; try { Class.forName(drv); // Загрузка драйвера con = DriverManager.getConnection(url, login, pwd); Statement stmt = con.createStatement(); //Подготавливаем запрос result = stmt.executeQuery("show columns from directory"); //Обрабатываем его while (result.next()) { //Создаём калонку таблицы TableColumn column = new TableColumn(table, SWT.NONE); //и называем её так же, как в базе (извлекая имя из ответа - result) column.setText(result.getString("Field")); }; result.close(); result = stmt.executeQuery("select * from directory"); while (result.next()) { TableItem item = new TableItem(table, SWT.NONE); for (int i = 0; i < table.getColumnCount(); i++) { item.setText(i, result.getString(table.getColumn(i).getText())); } }; result.close(); con.close(); for (int i = 0; i < table.getColumnCount(); i++) { table.getColumn(i).pack(); } } catch (ClassNotFoundException ex) { System.err.println("Cannot find the database driver classes."); System.err.println(ex); } catch (SQLException ex) { System.err.println("Cannot connect to this database."); System.err.println(ex); }; shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } } В данном проекте не забываем подключить драйвер JDBC и также сам пакет SWT. Таблица таже, что и в предыдущем примере. Результат:
|