[Microsoft][ODBC Microsoft Access Driver]COUNT field incorre

Status
Nicht offen für weitere Antworten.

niel

Mitglied
Ich benutze eine mdb datenbank fur mein program aber wenn ich etwas eintragen will bekomme ich dies Fehlermeldung: [Microsoft][ODBC Microsoft Access Driver]COUNT field incorre


dies ist das code:

private void writeTable(){
/* First clear the table */
emptyTable();
Statement insertRow;// = con.prepareStatement(
String baseString = "INSERT INTO UserTable " +
"VALUES (?, ?)";

String insertString;

int numRows = tabulka.getRowCount();
javax.swing.table.TableModel model = tabulka.getModel();
Integer sup, nm;


if(DEBUG) System.out.println("\nDoing Write...");

try {
/* connect to the database */
String filename = "c:/java/mdbTEST.mdb";
String database = "jdbc:eek:dbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database+= filename.trim() + ";DriverID=22;READONLY=true}";
Connection con = DriverManager.getConnection(database ,"","");
insertRow = con.prepareStatement(baseString);
for (int r=0; r < numRows; r++) {
if (model.getValueAt(r, 0) != null){



insertString = baseString + model.getValueAt(r, 0)+"',";
insertString = insertString + model.getValueAt(r, 1)+",";


if(DEBUG) System.out.println(insertString);
insertRow = con.createStatement();
insertRow.executeUpdate(insertString);
System.out.println("Writing Row " + r);

insertRow.close();
}
}
con.close();
} catch(SQLException ex) {
System.err.println("SQLException4: " + ex.getMessage());
}
clearTable();
}
 

André Uhres

Top Contributor
Hier ist ein Codeschnipsel der bei mir funktioniert. Vielleicht hilft er dir irgendwie weiter.
Code:
...
        try{ 
            DriverManager.registerDriver( new sun.jdbc.odbc.JdbcOdbcDriver() ); 
            connection = DriverManager.getConnection(DATABASE_URL); 
            System.out.println("Verbindung OK"); 
        }catch(SQLException ex){ 
            System.out.println("Fehler: Verbindung nicht erstellt"); 
            System.out.println( ex.getMessage() ); 
        } 
        try{ 
            doQuery(); 
        }catch(SQLException ex){ 
            String msg = ex.getMessage(); 
            System.out.println( msg ); 
        } 
...
    private void doQuery() throws SQLException{ 
        try { 
            if(connection!=null){ 
                statement = connection.createStatement(); 
                resultset = statement.executeQuery(query); 
                dispResultSet(resultset); 
            } 
        }finally{ 
            if(resultset!=null)resultset.close(); 
            if(statement!=null)statement.close(); 
            if(connection!=null)connection.close(); 
        } 
    } 
    private void dispResultSet(final ResultSet resultset) throws SQLException{ 
        int i; 
        ResultSetMetaData rsmd = resultset.getMetaData(); 
        int numCols = rsmd.getColumnCount(); 
        // Spalten-Überschriften anzeigen 
        for (i=1; i<=numCols ; i++) { 
            tablecolumn = displayTable.getColumnModel().getColumn(i-1); 
            tablecolumn.setHeaderValue( rsmd.getColumnLabel(i).toString() ); 
        } 
        // Daten anzeigen, bis zum Ende vom "result set" 
        boolean more = resultset.next(); 
        while ( more ) { 
            // Jede Spalte durchgehen und Spalten-Daten anzeigen 
            Object[] rowData = new Object[numCols]; 
            for (i=1; i<=numCols; i++) { 
                rowData[i-1] = resultset.getString(i); 
            } 
            displayTableModel.addRow(rowData); 
            // Nächste Zeile vom "result set" holen
            more = resultset.next(); 
        } 
    } 
    private String query; 
    private JTable displayTable; 
    private DefaultTableModel displayTableModel ; 
    private TableColumn tablecolumn ; 
    private Connection connection; 
    private Statement statement; 
    private ResultSet resultset; 
    private final String DATABASE_NAME = "customer"; 
                      //customer ist in Windows als DATENQUELLE angelegt!!!
    private final String DATABASE_URL = "jdbc:odbc:" + DATABASE_NAME;
 

niel

Mitglied
Andre_Uhres: dieses kod ist aber nur fur lesen. und ich brauche auch editieren ud loschen
 

André Uhres

Top Contributor
Das einzige was dabei ändert ist ja höchstens executeQuery-->executeUpdate.
Obschon, bei mir kann ich insert, update und delete auch mit executeQuery machen.
 

bronks

Top Contributor
niel hat gesagt.:
... Was meinst du mit autowert? ...
Schau mal in Access eine Tabelle in der Entwurfsansicht an. Bei den Datentypen findest Du auch den Autowert. Das ist ein Zähler, den man als RowId verwenden kann. Ließ Dir auch in der Accesshilfe das Kapitel zum Autowert durch.

Diesen Autowert darf und kann man nicht updaten. Ist das evtl. bei Dir der Fall?
 

Bleiglanz

Gesperrter Benutzer
jetzt habsch doch mal angeschaut
Code:
insertString = baseString + model.getValueAt(r, 0)+"',";
insertString = insertString + model.getValueAt(r, 1)+",";
ist doch völlig irre und der Code überschreibt noch dazu das erste Statement; das ist ein preparedStatement, die Platzhalter (?,?) müssen mit setString(1,...) und setString(2,...) gesetzt werden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state Datenbankprogrammierung 2
J Java 8 und Microsoft Access Database-Dateien(mdb) Datenbankprogrammierung 1
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
H Microsoft Access Treiber wird nicht gefunden Datenbankprogrammierung 9
GianaSisters Per JDBC auf Microsoft SQL 2005 Datenbankprogrammierung 24
A No suitable driver found for jdbc:microsoft:sqlserver... Datenbankprogrammierung 9
StYxXx Microsoft-SQL: No suitable driver found Datenbankprogrammierung 11
H Fehler mit ". Microsoft Access Driver" Datenbankprogrammierung 12
H Microsoft Access Abfrage Datenbankprogrammierung 6
thE_29 Microsoft SQL Server 2000 Datenbankprogrammierung 2
G java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserv Datenbankprogrammierung 7
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
M Zugriff auf mdb via ODBC steuern 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
D ODBC Zugriff auf MDB-Datenbank, Insert Into ohne Funktion Datenbankprogrammierung 2
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
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
F Zugriff auf ODBC-Datenbank übers Netzwerk Datenbankprogrammierung 6
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

Ähnliche Java Themen

Neue Themen


Oben