Nawiązywanie połączenia z bazą danych 1. Aby nawiązać

Transkrypt

Nawiązywanie połączenia z bazą danych 1. Aby nawiązać
Nawiązywanie połączenia z bazą danych
1. Aby nawiązać połączenie z bazą danych Firebird, musimy posiadać sterownik JDBC o nazwie Jaybird.
Można go pobrać ze strony http://www.firebirdsql.org/en/jdbc-driver/ .
2. Przykład połączenia z bazą danych.
import
import
import
import
import
java.sql.DriverManager;
java.sql.Connection;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;
public class PolaczeniePrzyklad{
public static void main(String[] args) {
Connection connection = null;
ResultSet resultSet = null;
Statement statement = null;
try {
Class.forName("org.firebirdsql.jdbc.FBDriver");
connection = DriverManager.getConnection("jdbc:firebirdsql://localhost:3050/C:/Program
Files/Firebird/Firebird_2_5/examples/empbuild/employee.fdb","sysdba", "masterkey");
statement = connection.createStatement();
resultSet = statement.executeQuery("SELECT * FROM employee");
while (resultSet.next()) {
System.out.println("Nazwisko pracownika:"+ resultSet.getString("LAST_NAME"));
System.out.println("Wynagrodzenie:"+ resultSet.getDouble(10));
System.out.println("Wynagrodzenie:"+ resultSet.getDouble("SALARY"));
}
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e){
e.printStackTrace();
}finally {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
3. Archiwum JAR ze sterownikiem musimy dołączyć do naszego projektu. Możemy to zrobić już na etapie
tworzenia projektu. Klikając przycisk Next w oknie Create a Java Project przejdziemy do okna Java Settings.
Tu wybieramy zakładkę Libraries. Następnie klikamy na przycisk Add External JARs i wybieramy archiwum
JAR z naszym sterownikiem.
4. Wykorzystanie klasy DBTable – archiwum JAR pobieramy ze strony
http://quicktablejava.appspot.com/download.html
import javax.swing.*;
import quick.dbtable.*;
import java.sql.*;
//przykład użycia klasy DBTable do prezentacji zawartości bazy - http://quicktablejava.appspot.com/home.html
public class Okno extends JFrame {
public Okno() {
setSize(500, 500);
setVisible(true);
// tworzymy tabelę klasy quicktable
quick.dbtable.DBTable dBTable1 = new quick.dbtable.DBTable();
this.getContentPane().add(dBTable1);
// ustawiamy odpowiedni sterownik jdbc-odbc
dBTable1.setDatabaseDriver("org.firebirdsql.jdbc.FBDriver");
// tworzymy połączenie z bazą danych
try {
Class.forName("org.firebirdsql.jdbc.FBDriver");
Connection connection = null;
connection = DriverManager
.getConnection(
"jdbc:firebirdsql://localhost:3050/C:/Program
Files/Firebird/Firebird_2_5/examples/empbuild/employee.fdb",
"sysdba", "masterkey");
dBTable1.setConnection(connection);
} catch (Exception e) {
e.printStackTrace();
}
// ustawiamy zapytanie, które będzie przetwarzane przez tablicę
double zarobki=40000;
String zapytanie = "select first_name, last_name as Nazwisko, salary from employee where salary<"+zarobki;
dBTable1.setSelectSql(zapytanie);
// tworzymy panel nawigacji tablicy
// poprzez parametr możemy wskazać jakie przyciski pojawią się w
// nawigacji.
dBTable1.createControlPanel(DBTable.READ_NAVIGATION);
try {
//na podstawie zapytania tworzony jest model kolumn
//kolumny numerowane są od 0
dBTable1.createColumnModelFromQuery();
//modyfikujemy własności kolumn
Column c=dBTable1.getColumn(2);
c.setWidth(100);
c.setReadOnly(true);
//nagłówek kolumny możemy również ustalić na etapie zapytania jak dla kolumny nazwisko
c.setHeaderValue("Zarobki");
c.setPreferredWidth(100);
c=dBTable1.getColumn(0);
// nie ma problemu z polskimi znakami
c.setHeaderValue("Imię");
// pobieramy dane z bazy do wypełnienia tablicy
dBTable1.refresh();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
// create a new table frame
Okno myframe = new Okno();
}