Antwort
 
Themen-Optionen Thema durchsuchen
Alt 18.08.2004, 09:22 Nach oben    #1
Testi
Gast
 
Beiträge: n/a
Standard SQL - Fehler


Hallo zusammen, ich versuche über eine ODBC-Verbindng Daten zu lesen und zu schreiben.
Das Lesen funktioniert sehr gut, beim Schreiben gibt es momentan Probleme, ich erhalte nach jedem Ausführen der UPDATE-Anweisung die Meldung: SQL error: General error!

Folgende Methode enthält die Updtae-Anweisung:

Java Code:
  1. private void writeData( String sheetName , JTable tbl , JTable tbl_backup ) {
  2.        String SQL_Stmt;
  3.        int rowcnt, colcnt , r , c;
  4.  
  5.        String[] spaltenName = null;
  6.        String[] zeile = null;
  7.        String[] zeile_backup = null;                   
  8.        
  9.        if( tbl == null ){
  10.            System.out.println("tbl ist null");
  11.            return;
  12.        }
  13.  
  14.        rowcnt = tbl.getRowCount();
  15.        colcnt = tbl.getColumnCount();
  16.  
  17.        spaltenName = new String[ colcnt ];
  18.        zeile = new String[ colcnt ];
  19.        zeile_backup = new String[ colcnt ];
  20.  
  21.        String SQL_STMT = "";
  22.        String SQL_UPDATE = "";
  23.        String SQL_SET = "";
  24.        String SQL_WHERE = "";
  25.        
  26.        for( c = 0 ; c < colcnt ; c++ ){
  27.            spaltenName[ c ] = ' + tbl.getColumnName( c ) + ';
  28.        }       
  29.        
  30.        
  31.        for ( r = 0; r < rowcnt; r++) {
  32.            
  33.            SQL_UPDATE = "UPDATE [" + sheetName + "$] ";
  34.            SQL_SET = "SET ";
  35.            SQL_WHERE = " WHERE ";
  36.            
  37.            for( c = 0 ; c < colcnt ; c++ ){
  38.                try {
  39.                zeile[c] = tbl.getValueAt( r , c ).toString().trim();
  40.                }
  41.                 catch( Exception e ){
  42.                     System.out.println( e.toString() );
  43.                     zeile[ c ] = "";
  44.                 }
  45.                try {
  46.                     zeile_backup[c] = tbl_backup.getValueAt( r , c ).toString().trim();
  47.                }
  48.                catch( Exception e ){
  49.                    System.out.println( e.toString() );
  50.                    zeile_backup[ c ] = "";
  51.                }
  52.                
  53.                if (c>0) {
  54.                    SQL_SET = SQL_SET + ", ";
  55.                    SQL_WHERE = SQL_WHERE + " AND";
  56.                }
  57. //               if(c<1)
  58.                {SQL_SET = SQL_SET + spaltenName[c] + "=  + zeile[c] +  ";}
  59.                            
  60.                if (zeile_backup[c].equals("-")) {                   
  61.                    SQL_WHERE = SQL_WHERE + "AND (" + spaltenName[c] + "=  + zeile_backup[c] + OR " + spaltenName[c] + " = ')";
  62.                } else {
  63.                    SQL_WHERE = SQL_WHERE + spaltenName[c] + " =  + zeile_backup[c] +  ";
  64.                }
  65.                // Ausgabe auf der Console zur Kontrolle               
  66.                System.out.println( "Zeile " + r + " Spalte " + c + "   alter Wert: " + zeile_backup[c] + "   neuer Wert: " + zeile[c] );
  67.                System.out.println("Zeile: "+rowcnt+" Spalte: "+colcnt);                                                             
  68.              
  69.        
  70.         SQL_STMT = SQL_UPDATE + SQL_SET + SQL_WHERE;
  71.         System.out.println("===============A C H T U N G =====================");       
  72.         System.out.println(SQL_STMT);
  73.        
  74.         try{
  75.             stmt.executeUpdate(SQL_STMT);
  76.         }
  77.         catch (SQLException sqle){
  78.             System.out.println("SQL Error: " + sqle.getMessage());
  79.         }
  80.        }
  81.        }
  82.    }

Hat jemand eine Idee, wo der Fehler liegen könnte?
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.08.2004, 12:10 Nach oben    #2
LordOfCodes
Gast
 
Beiträge: n/a
Standard Re: SQL - Fehler

Hi

kannst du bitte mal die Query posten, welche in diesem Code-schnipsel ausgegeben wird:

Zitat:
Zitat von Testi
Java Code:
  1. SQL_STMT = SQL_UPDATE + SQL_SET + SQL_WHERE;
  2. System.out.println("===============A C H T U N G =====================");       
  3. System.out.println(SQL_STMT);
Dann kann ich dir vielleicht weiterhelfen.

Greets
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.08.2004, 12:19 Nach oben    #3
Testi
Gast
 
Beiträge: n/a
Standard Re: SQL - Fehler

Zitat:
Zitat von LordOfCodes
Hi

kannst du bitte mal die Query posten, welche in diesem Code-schnipsel ausgegeben wird:

Zitat:
Zitat von Testi
Java Code:
  1. SQL_STMT = SQL_UPDATE + SQL_SET + SQL_WHERE;
  2. System.out.println("===============A C H T U N G =====================");       
  3. System.out.println(SQL_STMT);
Dann kann ich dir vielleicht weiterhelfen.

Greets
Query???? Wie sich der String zusammensetzt ist doch weiter oben im Code zu sehen:
Oder stehe ich jetzt auf der Leitung???

Gruß
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.08.2004, 12:27 Nach oben    #4
LordOfCodes
Gast
 
Beiträge: n/a
Standard

Da hast du schon recht, aber da ich nicht weis, was in deiner Table steht, wäre es viel einfacher, wenn du kurz die query postets.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.08.2004, 12:37 Nach oben    #5
Testi
Gast
 
Beiträge: n/a
Standard Query

Habe es als PM geschickt, da ich sonst immer eine Fehlermeldung bekam!

Gruß
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.08.2004, 12:58 Nach oben    #6
LordOfCodes
Gast
 
Beiträge: n/a
Standard

Zuerst eine Frage: Mit welchem SQL System arbeitest du? MySQL?
Wenn du mit MySQL arbeitest, sehe ich auf den 1. Blick 2 Dinge, welche zu dem Fehler führen könnten:

1. UPDATE [DCS$] SET: Die Tabelle, wo du das Update ausführen willst, hat die wirklich ein $ Zeichen im Namen? Braucht es die [] wirklich?

2. Die Feldernamen, warum schreibst du die in " " ?? So kann MySQL die Feldernamen nicht als solches erkennen.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.08.2004, 13:12 Nach oben    #7
Testi
Gast
 
Beiträge: n/a
Standard Query

Ok, das Ganze ist nicht so einfach. Ich habe eine Verbindung von Java zu Excel aufgebaut und zwar über den von Windows XP bereitgestellten ODBC-Treiber. Deshalb kann ich auch SQL Statements nutzen.

Das Lesen funktioniert einwandfrei und die Feldnamen in[] bzw. mit $ sind die verschiedenen Sheets in Excel.

Die " " waren nur ein Test, falls irgendetwas dort nicht richitg interpretiert wird, kann man wieder entfernen.

Thanks
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Komischer SQL Fehler kampfgnom Datenbanken 8 05.06.2007 16:59
Seltsamer Fehler ... Basti PHP-Programmierung 3 29.05.2007 17:50
Fehler im PHP Parser oder lag der Fehler doch bei mir? Prophet PHP-Programmierung 4 12.05.2006 17:17
Sql taskin73 Allgemeine Java-Programmierung 5 18.07.2005 13:30
sql fehler aber wo? pago PHP-Programmierung 12 01.04.2005 15:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:28 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44