ODBC Zugriff auf MDB-Datenbank, Insert Into ohne Funktion

Status
Nicht offen für weitere Antworten.

daily

Aktives Mitglied
Heho,

ich will per ODBC zwei Werte in eine Tabelle einer Access Datenbank schreiben.

Code:
	public void insert(Connection con, String[] args) {
		try{
			Statement s = con.createStatement();
			String statement = ("INSERT INTO Comments(COMMENT)"
					+ " VALUES(\'"
					+ args[1] + "\');");
			s.executeUpdate(statement);

Das funktioniert und der Datensatz befindet sich in der Tabelle.

Code:
			String statement = ("INSERT INTO VorgangComments(VORGANGSNR, COMMENTNR)"
					+ " VALUES(7,18);");
			s.executeUpdate(statement);

Das funktioniert nicht (mittlerweile ist die Anweisung zu Testzwecken recht abgespeckt). Es kommt auch keinerlei Fehlermeldung. Der Eintrag ist danach einfach nirgends aufzufinden. Die Namen von Tabelle/Spalten sind definitiv korrekt. Ich kapiers einfach nicht. Vielleicht sollte ich noch dazu sagen dass VORGANGSNR und COMMENTNR beides Fremdschlüssel sind.[/code]

P.S. Commit ändert nichts an der Problematik
P.P.S Ja ich weis.. Prepared Statements und so. Werd ich noch umbaun, aber funtkionieren muss es afaik doch auch so

UPDATE:

Hab nu wo gelesen dass man bei Access die Connection erst closen muss damit man die Änderungen sieht. Nachdem das dann erledigt war hats auch funktioniert :p

-solved-
 

daily

Aktives Mitglied
Nicht wirklich. Hatte auch schon commit probiert wodurch das Ganze trotzdem nicht funktioniert hat. Außerdem hab ich bei autocommit folgendes Problem:

1. Insert 1
2. Insert 2 (Fehler)

Bei autocommit:
Wenn in Insert 2 ein Fehler auftritt stehn die Daten von Insert 1 schon in der DB da sie automatisch commited werden. Man kann kein vernünftiges Rollback mehr machen.

Sinnvollerer Weg:

Code:
commit();
try {
Insert 1
Insert 2
commit();
}
catch (SQLException x){
rollback();
}



Wobei genau DAS grade bei mir nicht funktioniert. Access rollt nicht wirklich back und die Daten von Insert 1 stehen bei Fehler in Insert 2 trotzdem in der DB...

EDIT: Auch das funktioniert jetzt.
Falls es dich interessiert:

Code:
public class AddVComment implements SqlInsert {

	public void insert(String[] args) {

		Statement s;
		String statement = "";
		String commentNr = "";

		// Datenbankverbindung herstellen
		IConnectionManager conHandler = new OdbcConMan();
		Connection con = conHandler.getConnection("Teststellungen");
		
		try {
			//Sicherungspunkt erstellen
			con.setAutoCommit(false);
			con.commit();

			// Comment einfügen
			s = con.createStatement();
			statement = ("INSERT INTO Comments(COMMENT)" + " VALUES(\'"
					+ args[1] + "\');");
			s.executeUpdate(statement);

			// CommentNr herausfinden
			s = con.createStatement();
			statement = "SELECT MAX(COMMENTNR) FROM Comments"
					+ " WHERE COMMENT=\'" + args[1] + "\';";
			s.execute(statement);

			ResultSet rs = s.getResultSet();

			while (rs.next()) {
				commentNr = rs.getString(1);
			}

			// Vorgang Kommentar zuweisen
			s = con.createStatement();
			System.out.println(args[0] + "   " + commentNr);
			statement = ("INSERT INTO VorgangComments(VORGANGSNR, COMMENTNR)"
					+ " VALUES(\'" + args[0] + "\', \'" + commentNr + "\');");
			s.executeUpdate(statement);

			//Datenbestand sichern
			con.commit();
			con.setAutoCommit(true);
			
			// Verbindung trennen
			conHandler.closeConnection(con);


		} catch (SQLException x) {
			try {

				//Datenbestand zurücksetzen
				con.rollback();
				con.setAutoCommit(true);

				// Verbindung trennen
				conHandler.closeConnection(con);
			} catch (SQLException y) {
				y.printStackTrace();
			}
			x.printStackTrace();
		}

Es gibg btw. nicht weil man AutoCommit immer explizit AUSschalten muss wenn man solch eine Transakton durchführen will. ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Zugriff auf ODBC-Datenbank übers Netzwerk Datenbankprogrammierung 6
M Zugriff auf mdb via ODBC steuern Datenbankprogrammierung 2
S ODBC Treiber in Java Editor einbinden Datenbankprogrammierung 3
KaffeeFan JDBC/ODBC-Bridge entfernt Datenbankprogrammierung 4
W Keine ODBC-Verbindung zur MSAccess-Datenbank Datenbankprogrammierung 2
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
thet1983 MySQL ODBC Driver zuweisen unter Mac OX Mav Datenbankprogrammierung 2
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
0 ODBC Bezeichner zu lang HILF Datenbankprogrammierung 6
T Access 32bit on Win7 64Bit ODBC Problem Datenbankprogrammierung 1
S ODBC Treiber Problem/oder unvermögen Datenbankprogrammierung 18
Y java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state Datenbankprogrammierung 2
S Access 2007 zugreifen- ODBC Driver Manger Datenbankprogrammierung 3
R ODBC-Treiber sehr langsam Datenbankprogrammierung 5
J mit java in access DB über odbc/jdbc Datenbankprogrammierung 2
NoXiD Access Datenbank in java einbinden ohne ODBC treiber zu erstellen Datenbankprogrammierung 5
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
G ODBC Insert und gleich danach Selects Datenbankprogrammierung 8
T ODBC + MySQL + Umlaute => Katastrophe Datenbankprogrammierung 4
J Datenquellen (ODBC) Vista(64) Datenbankprogrammierung 3
A Ich dreh durch mit JDBC & ODBC! Datenbankprogrammierung 26
M JDBC/ODBC Treiber-Einbindung Datenbankprogrammierung 5
O JDBC:ODBC Problem Remedy ARS Datenbankprogrammierung 8
A JavaDB(Derby) als ODBC-Datenquelle eintragen Datenbankprogrammierung 4
D sun.jdbc.odbc.JdbcOdbcDriver Datenbankprogrammierung 13
V Überprüfen ob Tabelle existiert in Access per ODBC Datenbankprogrammierung 2
F JDBC -> ODBC -> DBF, MDX? Datenbankprogrammierung 7
S ODBC Registrierung? Datenbankprogrammierung 2
M jbcd : odbc Verbindung zu Accessdatei (*.mdb) Datenbankprogrammierung 9
S Kommerzieller JDBC-ODBC-Konnektor Datenbankprogrammierung 5
M Odbc und Fehler Datenbankprogrammierung 44
S Neues aus der JDBC-ODBC-Hölle Datenbankprogrammierung 3
P ODBC verbindung Java soll auf access mdb datei zugreifen Datenbankprogrammierung 2
G Access mit Java OHNE ODBC Datenbankprogrammierung 7
C Datenbankanbindung ohne ODBC JDBC Brücke Datenbankprogrammierung 5
N [Microsoft][ODBC Microsoft Access Driver]COUNT field incorre Datenbankprogrammierung 13
D Anforderungen für JDBC-ODBC Datenbankprogrammierung 6
B Hilfe! Problem bei Verbindung über JDBC/ODBC Datenbankprogrammierung 4
F JDBC:ODBC chinesische Zeichen aus Memofelder Datenbankprogrammierung 2
R wer kennt Sage - KHK ? ODBC funzt nicht ? Datenbankprogrammierung 9
R JDBC-ODBC: Alle ODBC-Datenquellen ermitteln? Datenbankprogrammierung 4
A Java und Accessdateien ohne ODBC? Datenbankprogrammierung 2
J Problem bei ODBC Verbindung mit Access Datenbankprogrammierung 4
B Möglichkeit an alle ODBC Namen zu kommen? Datenbankprogrammierung 4
V Access-Transaktion über jdbc:odbc Datenbankprogrammierung 4
M Andocken an eine odbc Schnittstelle Datenbankprogrammierung 3
G Mit JDBC-ODBC-Bridge auf entfernten Rechner zugreifen? Datenbankprogrammierung 2
C JDBC-ODBC Bridge Datenbankprogrammierung 1
Beginner22 Zugriff auf Datenbank aus Java über mariadb Datenbankprogrammierung 3
H MariaDB-Zugriff mittels Java SE Datenbankprogrammierung 3
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
M Datenbank vor unerlaubtem Zugriff durch Benutzer schützen Datenbankprogrammierung 3
L Zugriff auf ein Resultset Datenbankprogrammierung 7
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
K Eclipse: JBoss Hibernate Tool: Kein Zugriff auf Datenbank Datenbankprogrammierung 5
D Gleichzeitiger Zugriff auf der DB Datenbankprogrammierung 11
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
D JavaFX Anwendung zugriff auf MySQL DB. Datenbankprogrammierung 2
F Zugriff auf ein bestimmte Row Datenbankprogrammierung 13
S HSQLDB Zugriff auf Access Datenbank Datenbankprogrammierung 0
K MySQL Datenbank 2facher Zugriff Datenbankprogrammierung 1
M DB-Zugriff funktioniert nach JAR-Erstellung nicht mehr Datenbankprogrammierung 3
P Datenbank Zugriff fehlgeschlagen Datenbankprogrammierung 9
B MySQL JDBC Zugriff auf entfernt Datenbank, fehlende Rechte Datenbankprogrammierung 2
L Zugriff auf lokal gespeicherte mySQL Datenbank Datenbankprogrammierung 3
L MySQL App/Java Zugriff auf Mysql-DB funktioniert nicht Datenbankprogrammierung 1
W MySQL -Server Einstellung -- Zugriff übers lokale Netzwerk Datenbankprogrammierung 1
R Oracle jdbc Zugriff auf Oracle Datenbankprogrammierung 2
T Derby/JavaDB Zugriff auf DB mit exportiertem Programm Datenbankprogrammierung 12
A MySQL-Zugriff auf Raspberry Pi Datenbankprogrammierung 2
T PostgreSQL Best Practice: Konkurrierender DB-Zugriff mit meherern Programmen? Datenbankprogrammierung 20
D .mdb Datenbank Zugriff fehlgeschlagen Datenbankprogrammierung 5
B Datenbanken schützen vor Zugriff Datenbankprogrammierung 3
E Zugriff auf MySQL-Datenbank Datenbankprogrammierung 4
K MySQL Zugriff auf Remote-DB verweigert Datenbankprogrammierung 6
G MySQL Zugriff auf Datenbank Objekt Datenbankprogrammierung 19
C Hibernate n:m mittels Zwischentabelle und bidirektionaler Zugriff Datenbankprogrammierung 2
A Zugriff auf DB-Tabellen mit Objekten Datenbankprogrammierung 3
D Was passiert bei absolut zeitgleichem Zugriff auf eine Tablerow Datenbankprogrammierung 7
I Zugriff auf Datenbank nach Erstellen einer Executable Jar Datei verweigert Datenbankprogrammierung 10
I Zugriff auf eine Datenbank auf dem Webserver Datenbankprogrammierung 2
J Derby/JavaDB Zugriff ohne Entwicklungsumgebung Datenbankprogrammierung 5
E H2 - Globalen Zugriff auf die Datenbank? Datenbankprogrammierung 10
J Zugriff auf MySQL-Datenbank Datenbankprogrammierung 5
F Zugriff auf MS Access-Datenbank mit jackcess Datenbankprogrammierung 10
F suche Erstanschub für DB-Zugriff Datenbankprogrammierung 9
E einfache Frage bei DB-Zugriff Datenbankprogrammierung 11
P MySQL Remote Zugriff Datenbankprogrammierung 2
C Gleichzeitiger Zugriff auf Datensatz Datenbankprogrammierung 5
T Problem bei Zugriff auf Access Datenbank Datenbankprogrammierung 7
T MySQL Zugriff ohne Angabe der Datenbank Datenbankprogrammierung 3
M Zugriff auf eine Access-Datenbank innerhalb eines jar-Files Datenbankprogrammierung 7
N Wie kann ich Zugriff auf eine MS Access DB (mit JDBC) über Netzwerk erreichen? Datenbankprogrammierung 7
J Frage zu Synchronisation bei parallelem Zugriff, speziell mit JPA Datenbankprogrammierung 2
T DB Zugriff mit Java Web Datenbankprogrammierung 6
R Zugriff auf SQL im PreparedStatement Datenbankprogrammierung 4
F Zugriff auf MS Access DB Datenbankprogrammierung 3
J Nullpointer Exception bei Zugriff auf Datenbank Datenbankprogrammierung 13
J Zugriff auf Access-Datenbank Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben