tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von para_noid
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
215
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mtun mtun ist offline Mitglied
    Registriert seit
    Oct 2011
    Beiträge
    11
    Hi, meine Datenbank ist in "utf8 - default_collation".
    wenn ich nun folgendes ausführe:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    String sqlCommand = "SELECT Spalte  FROM Tabelle";
    ResultSet rs = stmt.executeQuery(sqlCommand);
    rs.next();
    String inhalt = rs.getString("Spalte");
    System.out.println(inhalt);
    stmt.close();
              
    sqlCommand="UPDATE Tabelle SET andererInhalt = 42 WHERE Spalte="+inhalt;
    stmt = (Statement) conn.createStatement();
    stmt.execute(sqlCommand);
    stmt.close();
    bekomme ich als Ausgabe:
    Code :
    1
    2
    
    A
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'A' in 'where clause'
    wenn ich eine int spalte nehme gehts. Problem liegt dabei, dass ich mit "WHERE Spalte=A" kein Ergebniss bekomme obwohl die Spalte als Inhalt "A" hat, halt nur in utf-8 gespeichert.
    Wisst ihr wie das zu beheben geht? (brauche utf-8)
    Geändert von mtun (02.11.11 um 00:41 Uhr)
     

  2. #2
    Avatar von para_noid
    para_noid para_noid ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    144
    Ich glaube nicht, dass es am utf-8 liegt.
    Die Fehlermeldung sagt ja "Unknown column 'A'", also wird der Inhalt, den du abfragst, als Spalte angenommen. Das wird daran liegen, dass du inhalt in dem Query nicht als String gekennzeichnet hast, so:

    Code :
    1
    
    "WHERE `Spalte` LIKE '"+inhalt+"'";

    Bei deinem Beispiel würde ja dann real
    Code :
    1
    
    UPDATE Tabelle SET andererInhalt = 42 WHERE Spalte=A

    stehen (also ein Vergleich zweier Spalten), bei o.g.:

    Code :
    1
    
    UPDATE Tabelle SET andererInhalt = 42 WHERE Spalte LIKE 'A'

    Deswegen klappt es bei dir auch nur mit int-Werten.
    mtun bedankt sich. 
    Für die Übereinstimmung von Niederschrift und Hirninhalt.

  3. #3
    mtun mtun ist offline Mitglied
    Registriert seit
    Oct 2011
    Beiträge
    11
    Ah, ok klappt, vielen Dank.
     

Ähnliche Themen

  1. in while Schleife 2 Vergleiche
    Von schiese im Forum PHP
    Antworten: 5
    Letzter Beitrag: 13.10.11, 22:48
  2. Vergleiche in PHP
    Von reddragon90 im Forum PHP
    Antworten: 6
    Letzter Beitrag: 25.05.09, 21:19
  3. Dynamische Vergleiche
    Von flek im Forum Java Grundlagen
    Antworten: 3
    Letzter Beitrag: 14.07.08, 13:15
  4. Vergleiche mit ? und :
    Von Soapp im Forum PHP
    Antworten: 2
    Letzter Beitrag: 01.07.06, 11:32
  5. font vergleiche
    Von wiso im Forum Typografie
    Antworten: 2
    Letzter Beitrag: 17.11.03, 22:23