allge. Datenbankfragen

Status
Nicht offen für weitere Antworten.
I

ichIchich

Gast
Könnt ihr mir bitte mal einen kleine Tipps geben, wie ich Java mit Datenbank verbinden kann.

:oops:
 
M

metaltiffy

Gast
So sollte das funktionieren..
Musst nur die richtigen Treiber einsetzten und den usernamen und password . Außerdem dein namen deiner datenbank einsetzten..


Zugang auf Datenbank

Treiber runterladen (http://www.oracle.com/technology//software/tech/java/sqlj_jdbc) und einbinden.
Verbindung herstellen:
Class.forName("oracle.jdbc.driver.OracleDriver");
cn = DriverManager.getConnection("jdbc:eek:racle:thin:mad:debmu502.server.arvato-systems.de:1485:DBOTBIP1", USER, PASSWD);
Bedeutung: („jdbc:eek:racle:thin:mad: hostname oder IP ”: Port : SID );

In Klasse muss ein jar eingebunden werden…

 Open Run Dialoq
 Classpath
 falls dort nicht ojdbc.jar eingetragen ist auf „Add External JARs“ und eintragen

Beispielfunktion für Zugang

Code:
import java.sql.*;

public class MainDB {

	Connection cn = null;
	final static String USER = "username";
	final static String PASSWD = "password";

	// ---main-------------------------------------------------
	public static void main(String[] args) {
		try {
			MainDB db = new MainDB();
			db.open();
		} catch (Exception ex) {
			System.out.println("Fehler in main");
			ex.printStackTrace();
		}

	}

	public void open() throws Exception {
		// Treiber laden und Connection erzeugen
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			cn = DriverManager.getConnection(
					"jdbc:oracle:thin:@debmu.server.arvato-systems.de:1485:DBOTBIP", USER, PASSWD);
			System.out.println("open durchlaufen");
		} catch (Exception ex) {
			ex.printStackTrace();
		}

	}
}

Beispiel zum einlesen einer Tabelle in eine Tabelle

import java.sql.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;

public class MainDB {

Connection cn = null;
Statement st = null;
ResultSet rs = null;

final static String USER = "username";
final static String PASSWD = "password";

protected Shell shell;
Display display;
Color color;
Button button;
boolean klick = false;
Table table;
TableColumn column;
int n; // für Spaltenanzahl
Combo combo;
int s;// für die Combobox

// ---main-------------------------------------------------
public static void main(String[] args) {
try {

MainDB window = new MainDB();
window.open();
} catch (Exception ex) {
System.out.println("Fehler in main");
ex.printStackTrace();
}
}

public void open() {
display = Display.getDefault();
createContents();
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}

public void createContents() {
shell = new Shell();
shell.setSize(400, 400);

button = new Button(shell, SWT.NONE);
button.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
try {
s = 0;
datenHolen();
} catch (Exception ex) {
ex.printStackTrace();
}
}
});
button.setBounds(10, 10, 87, 23);
button.setText("Daten holen");
button
.setToolTipText("Zeigt automatisch die Daten aus DVD an. \n andere Tabellen lassen sich in der ComboBox auswählen");

this.table = new Table(shell, SWT.BORDER);
this.table.setLinesVisible(true);
this.table.setHeaderVisible(true);
this.table.setBounds(10, 54, 372, 266);

final Combo combo = new Combo(shell, SWT.NONE);
combo.setBounds(240, 11, 142, 21);
combo.add("DVD", 0);
combo.add("CD", 1);
combo.add("Software", 2);
combo.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
s = combo.getSelectionIndex();
datenHolen();
}

public void widgetDefaultSelected(SelectionEvent e) {
s = combo.getSelectionIndex();
datenHolen();
}
});

// lösch-button
final Button butdel = new Button(shell, SWT.NONE);
butdel.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
loesch();
}
});
butdel.setText("Löschen");
butdel.setBounds(114, 9, 87, 23);

}// ende createContents()

public void loesch() {
table.removeAll();
table.clearAll();
table.dispose();
table = new Table(shell, SWT.BORDER);
table.setLinesVisible(true);
table.setHeaderVisible(true);
table.setBounds(10, 54, 372, 266);
}

public void datenHolen() {
// Treiber laden und Connection erzeugen
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
cn = DriverManager
.getConnection(
"jdbc:eek:racle:thin:mad:debmu.server.arvato-systems.de:1485:DBOTBIP",
USER, PASSWD);
st = cn.createStatement();
switch (s) {
case 0:// DVD
rs = st.executeQuery("Select * From DVD");
break;
case 1:// CD
rs = st.executeQuery("Select * From CD");
break;
case 2:// Software
rs = st.executeQuery("Select * From Software");
break;
default:
rs = st.executeQuery("Select * From CD");
}
// rs = st.executeQuery("Select * From DVD");
ResultSetMetaData rsmd = rs.getMetaData();
loesch();
int i, n = rsmd.getColumnCount();
// i = anz der spalten, 1. reihe malen
for (i = 0; i < n; i++) {
if (this.table == null) {
System.out.println("Hier stimmt doch was nicht...");
}
column = new TableColumn(this.table, SWT.NONE);
column.setText(rsmd.getColumnName(i + 1));
column.setWidth(100);

}
int j = 0;
while (rs.next()) {
TableItem item1 = new TableItem(this.table, SWT.NONE);
for (i = 1; i <= n; i++) {
item1.setText(i - 1, rs.getString(i));
}
j = j + 1;
}

} catch (Exception ex) {
System.out.println(ex);
ex.printStackTrace();
} finally {
try {
if (null != rs)
rs.close();
} catch (Exception ex) {
}
try {
if (null != st)
st.close();
} catch (Exception ex) {
}
try {
if (null != cn)
cn.close();
} catch (Exception ex) {
}
}// ende finally
}// ende Datenholen()

}// ende MainDB
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben