Hallo,
wie kann ich eine Access Datenbank unter Linux mit java anbinden ?
Beispiel Code:
PHP-Code:
package arbeitTest;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import sun.jdbc.odbc.JdbcOdbcDriver;
public class main extends Frame implements ActionListener
{
private static final String DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
private static final String URL = "jdbc:odbc:InAndOut";
private Connection connection;
private GridLayout gl = new GridLayout (4,1);
private GridLayout gl1 = new GridLayout (3,2);
private FlowLayout flL = new FlowLayout (FlowLayout.LEFT);
private Panel p1 = new Panel ();
private Panel p2 = new Panel ();
private Panel p3 = new Panel ();
private Panel p4 = new Panel ();
private Label l1 = new Label ("Vorname :");
private Label l2 = new Label ("Nachname :");
private Label l3 = new Label ("Alter :");
private TextField firstName = new TextField ();
private TextField name = new TextField ();
private TextField age = new TextField ();
private TextField search = new TextField ("zu suchende ID");
private TextArea outputArea = new TextArea ();
private Button saveButton = new Button("Eingabe");
private Button loadButton = new Button("Alle ausgeben");
private Button oneData = new Button("Einzeln ausgeben");
private String nameSt = "";
private String firstSt = "";
private String ageSt = "";
private String searchSt = "";
public main()
{
setSize (460,600);
setLocation (200,100);
setLayout (gl);
p1.setLayout(gl1);
p1.add(l1);
p1.add(firstName);
p1.add(l2);
p1.add(name);
p1.add(l3);
p1.add(age);
p2.setLayout(flL);
p2.add(saveButton);
p3.add(outputArea);
p4.setLayout (flL);
p4.add(loadButton);
p4.add(search);
p4.add(oneData);
add (p1);
add (p2);
add (p3);
add (p4);
saveButton.addActionListener (this);
loadButton.addActionListener (this);
oneData.addActionListener (this);
addWindowListener (new WindowAdapter ()
{ public void windowClosing (WindowEvent we)
{ System.exit (0); }});
openDBConnection();
}
private void insertDataSet()
{
try
{
Statement statement = connection.createStatement ();
firstSt = firstName.getText ();
nameSt = name.getText ();
ageSt = age.getText ();
String updateString =
"insert INTO InAndOut (Name, Vorname, Alter) VALUES ('"+firstSt+"','"+nameSt+"','"+ageSt+"');";
int rowOfInsertation = statement.executeUpdate(updateString);
}
catch (Exception exception)
{}
}
private void outputAllDataSets()
{
try
{
Statement statement = connection.createStatement();
String queryString = "SELECT * FROM InAndOut;";
ResultSet resultSet = statement.executeQuery(queryString);
while (resultSet.next ())
{
String id = resultSet.getString(1);
String vorname = resultSet.getString(2);
String name = resultSet.getString(3);
String alter = resultSet.getString(4);
outputArea.append (id + " " + vorname + " " + name + " " + alter + "\n");
}
}
catch (Exception e)
{}
}
private void outputOneDataSets()
{
try
{
String num = search.getText();
Statement statement = connection.createStatement ();
String outputString = "SELECT * FROM InAndOut WHERE ID = "+num+" ;";
ResultSet resultSet2 = statement.executeQuery(outputString);
while (resultSet2.next ())
{
String id = resultSet2.getString(1);
String vorname = resultSet2.getString(2);
String name = resultSet2.getString(3);
String alter = resultSet2.getString(4);
outputArea.append (id + " " +vorname+ " " +name+ " " +alter+ "\n");
}
}
catch (Exception e)
{}
}
private void openDBConnection ()
{
try
{
Class.forName(DRIVER);
connection = DriverManager.getConnection (URL);
}
catch (Exception e)
{
e.printStackTrace();
}
}
private void closeDBConnection ()
{
try
{
connection.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void actionPerformed (ActionEvent ae)
{
Object eventObject = ae.getSource();
if (eventObject == saveButton)
{
insertDataSet();
firstName.setText("");
name.setText("");
age.setText("");
}
if (eventObject == loadButton)
{
outputArea.setText("");
outputAllDataSets();
}
if (eventObject == oneData)
{
outputArea.setText("");
outputOneDataSets();
}
}
public static void main (String args[])
{
main startWindow = new main ();
startWindow.show();
}
}