Apostroph(') in Datenbank eintragen

Status
Nicht offen für weitere Antworten.

Emrys-Merlin

Mitglied
Hey,

Ich wollte mal fragen ob es irgendeine Möglichkeit gibt auch Wörter mit Apostrophen in eine Datenbank einzutragen, weil bei mir kommt da bis jetzt immer ne Fehlermeldung. Ich freue mich über jede Hilfe

Grüße
Merlin
 

Emrys-Merlin

Mitglied
Also dieser Code-Abschnitt löst in meinem Programm z.B. eine Fehlermeldung aus:

Code:
database.update(
	      	  "INSERT INTO VOKABELN(Stranger, German, UArtikel, BArtikel, Asked)" +
	      	  " VALUES('olio','Öl','un','l'','0')");

Und die passende Fehlermeldung:

java.sql.SQLException: Unexpected token: 0 in statement [INSERT INTO VOKABELN(Stranger, German, UArtikel, BArtikel, Asked) VALUES('olio','Öl','un','l'','0')]

und jetzt würde mich interessieren, wie ich es hinbekommen, dass ich dieses l' eingetragen bekomme ohne, dass das Programm abstürzt.

Merlin
 

Leroy42

Top Contributor
Also nochmal.

Du kannst sowohl Apostrophe(Häkchen) als auch Gänsefüsse(Doppelhäkchen) zur Eintragung von Strings nehmen.

Wenn der String eben ein Häkchen enthält, dann mußt
du diesen mit Doppelhäkchen einpacken.

Jetzt frag aber nicht, was du schreiben sollst, wenn
du ein Apostroph gefolgt von einem Doppelhäkchen
eintragen mußt.

Das zeigt die Schwächen dieses Verfahrens. :autsch:
 

Emrys-Merlin

Mitglied
Sorry, aber das funktioniert nicht, weil wenn ich da jetzt Anführungszeichen drum rum mach dann wir des l' nicht mehr als Teil von diesem string angesehen und die Methode braucht einen String als Parameter...

und wenn ich \"l'\" mache kommt diese Fehlermeldung:
java.sql.SQLException: Column not found: l' in statement [INSERT INTO VOKABELN(Stranger, German, UArtikel, BArtikel, Asked) VALUES('olio','Öl','un',"l'",'0')]
 

Leroy42

Top Contributor
Habe gerade das hier gefunden:

Das Apostroph ist kein Steuerzeichen mehr, wohl aber der Backslash, der von MySQL entfernt wird, da er ja nicht zu der Eingabe gehört, sondern nur signalisiert, dass das nachfolgende Apostroph kein Steuerzeichen ist.

Versuch's doch einfach mal mit

values ('ich bin ein Apostroph: \'')

Edit: Also Backslash gefolgt von einem Apostrophen
 

Emrys-Merlin

Mitglied
Also so ist der Code:

Code:
database.update(
	      	  "INSERT INTO VOKABELN(Stranger, German, UArtikel, BArtikel, Asked)" +
	      	  " VALUES('olio','Öl','un','l\'','0')");

Und das ist die Fehlermeldung:

java.sql.SQLException: Unexpected token: 0 in statement [INSERT INTO VOKABELN(Stranger, German, UArtikel, BArtikel, Asked) VALUES('olio','Öl','un','l'','0')]
 

Leroy42

Top Contributor
Code:
database.update( 
              "INSERT INTO VOKABELN(Stranger, German, UArtikel, BArtikel, Asked)" + 
              " VALUES('olio','Öl','un','l\\'','0')");

Du mußt den Backslash maskieren.
 

Leroy42

Top Contributor
Und das

Code:
database.update( 
              "INSERT INTO VOKABELN(Stranger, German, UArtikel, BArtikel, Asked)" + 
              " VALUES(\"olio\",\"Öl\",\"un\",\"l'\",\"0\")");
geht wirklich nicht? :shock:

Dann bin ich mit meinem Latein auch am Ende. :(
 
G

Guest

Gast
Verwende PreparedStatements und lass der Treiber das richtige Format wählen.
 

Emrys-Merlin

Mitglied
Kannst du mir das vielleicht etwas einfacher erklären, ich bin Neueinsteiger, was Datenbanken angeht und hab dementsprechend wenig Ahnung was ich überhaupt tue :lol: Kannst du vielleicht ein Programmbeispiel reinstellen oder so?

Merlin
 
G

Guest

Gast
So ungefähr
Code:
Connection con = null;
PreparedStatement stmt = null;
try
{
   con = getConnection(); // woher auch immer du die Connection hast
   stmt = con.prepareStatement(
      "INSERT INTO Vokabeln(Stranger, German, UArtikel, BArtikel, Asked) VALUES(?, ?, ?, ?, ?)" 
      // Die Fragezeichen sind Platzhalter für die Parameter, die in den folgenden Zeilen erst 
      // gesetzt werden (siehe java.sql.PreparedStatement)
   );
   stmt.setString(1, "olio"); // Beachte, dass der Index der Parameter bei JDBC immer mit 1 anfängt, nicht mit 0
   stmt.setString(2, "Öl");
   stmt.setString(3, "un");
   stmt.setString(4, "I'"); // <-- Hier dein String mit Anführungszeichen
   stmt.setString(5, "0");
   stmt.executeUpdate();
   ...
}
catch(SQLException e)
{
   Logger.fatal(e);
}
finally
{
   // Statement und Connection wieder freigeben
   if(stmt != null)
   {
      try
      {
         stmt.close();
      }
      catch(SQLException e)
      {
         Logger.error(e);
      }
   }
   if(con != null)
   {
      try
      {
         con.close();
      }
      catch(SQLException e)
      {
         Logger.error(e);
      }
   }
}
 
G

Guest

Gast
Kleine Korrektur. Bei der ersten Exception solltest du dann eine eigene Exception werfen,
den Fehler genauer beschreibt, sonst kriegt man es ausserhalb der Methode nicht mit, dass
das Update gescheitert ist.
 

Emrys-Merlin

Mitglied
Cool!!!
Vielen Dank für den Tipp, der hat das Problem endlich gelöst!!! Ich hätte nicht gedacht, dass das so einfach zu lösen ist.
Nochmal vielen Dank

Gruß
Merlin
 
S

SlaterB

Gast
wäre schön, wenn du irgendwie an ein SQL-Log der DB kommst
und den letztlich akzeptierten SQL-Code posten könntest ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Apostroph "printen" Java Basics - Anfänger-Themen 33
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
M Daten aus errechneter Methode in Datenbank(SQLite) schreiben Java Basics - Anfänger-Themen 60
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
I Element n aus Datenbank Query (JPA / Hibernate) Java Basics - Anfänger-Themen 3
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
E schneller von der Datenbank abfragen Java Basics - Anfänger-Themen 15
E Datenbank Spalte zusammenzählen Java Basics - Anfänger-Themen 2
R Datenbank Java Basics - Anfänger-Themen 1
I API Key´s in der Datenbank decrypt / encrypten? Java Basics - Anfänger-Themen 23
I Werte (u.a. Geldbeträge) in Datenbank speichern und Rundungen? Java Basics - Anfänger-Themen 8
M Mehrere Datenbank zugriffe über tomee.xml regeln? Java Basics - Anfänger-Themen 1
M Datenbank oder Textdatei? Java Basics - Anfänger-Themen 4
S Datenbank Befehl nach Login Java Basics - Anfänger-Themen 5
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
M Von der Datenbank zum Textfield Java Basics - Anfänger-Themen 16
R Best Practice Logik in der Datenbank oder in Java? Java Basics - Anfänger-Themen 3
R Datenbank-Werte dynamisch ausgeben Java Basics - Anfänger-Themen 19
B Frage zu Datenbank Design - Rechnungen, Angebote... und deren Positionen Java Basics - Anfänger-Themen 4
B Datenbank: Entity mit vielen Referenzen? Ansatz so ok? Java Basics - Anfänger-Themen 8
T Datenbank | Welche am Sinnvollsten? Java Basics - Anfänger-Themen 5
S Daten speichern, ohne Datenbank Java Basics - Anfänger-Themen 8
L Daten aus ArrayList in Datenbank durchsuchen Java Basics - Anfänger-Themen 5
M Datenbank in jTable Laden Java Basics - Anfänger-Themen 49
M Datenbank verbindung Java Basics - Anfänger-Themen 19
J Java Verbindung mit mysql Datenbank Java Basics - Anfänger-Themen 3
B Datenbank, aktuelle Ende als Zahl an Label übergeben Java Basics - Anfänger-Themen 7
T Collections Geeignete Collection/Liste/Datenbank Java Basics - Anfänger-Themen 17
B Treetable (rekursive Funktion) aufbauen von Datenbank Java Basics - Anfänger-Themen 4
R Input/Output Verbindung mit mySql-Datenbank Java Basics - Anfänger-Themen 9
D Compiler-Fehler Wert auf Datenbank übertragen und Sleep Thread Java Basics - Anfänger-Themen 3
N (Java) Regristrierung und Login System mit einer Datenbank Java Basics - Anfänger-Themen 5
J Datenbank Zugriff Java Basics - Anfänger-Themen 24
J Mit JSF Formular in Datenbank schreiben Java Basics - Anfänger-Themen 3
DaCrazyJavaExpert Verschiede Aktionen der Datenbank getrennt durchführen Java Basics - Anfänger-Themen 4
DaCrazyJavaExpert Datenbank wird nicht erstellt Java Basics - Anfänger-Themen 31
E Daten gehen nicht in Datenbank Java Basics - Anfänger-Themen 14
C JTable update mit MySQL Datenbank Java Basics - Anfänger-Themen 1
Meeresgott OOP Gui, Logik und Datenbank richtig aufbauen Java Basics - Anfänger-Themen 43
B Schreiben von zu vielen Einträgen in einer Datenbank Java Basics - Anfänger-Themen 9
S Datenbank auf Knopfdruck abfragen Java Basics - Anfänger-Themen 8
M Java als Webanwendung mit Datenbank abfrage Java Basics - Anfänger-Themen 3
N Datenbank mit GUI verbinden - Wie? Java Basics - Anfänger-Themen 5
1 Datenbank in Java Java Basics - Anfänger-Themen 1
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
J Bücher Datenbank Java Basics - Anfänger-Themen 5
S Best Practice MVC und große Datenmengen aus einer mySQL - Datenbank Java Basics - Anfänger-Themen 24
J Datum und Uhrzeit in Datenbank falsch hinterlegt Java Basics - Anfänger-Themen 13
R Erstversuch Datenbank Java Basics - Anfänger-Themen 6
I Daten speichern ohne Datenbank Java Basics - Anfänger-Themen 20
A Erste Schritte Verbindung zu MySQL Datenbank herstellen Java Basics - Anfänger-Themen 7
T Sql Datenbank - variable übergeben? Java Basics - Anfänger-Themen 8
C Passwörter möglichst sicher in Datenbank speichern Java Basics - Anfänger-Themen 18
W Erste Schritte Exceltabelle in Datenbank übertragen mittels XDEV Java Basics - Anfänger-Themen 7
J GUI mit phpMyAdmin Datenbank verbinden Java Basics - Anfänger-Themen 0
K Erste Schritte Datenbank SQL erklärung Java Basics - Anfänger-Themen 15
B Lokale Datenbank Java Java Basics - Anfänger-Themen 2
B Klassen Doppelte werte Filtern XML, Datenbank und DOM Java Basics - Anfänger-Themen 3
Todesbote Int Array mit Hibernate in Datenbank speichern. Java Basics - Anfänger-Themen 2
U Datenbank in Java Java Basics - Anfänger-Themen 8
M Keine Datenbank verbindung Java Basics - Anfänger-Themen 14
N mit Werten aus einer mysql datenbank in java rechnen Java Basics - Anfänger-Themen 17
Q Datenbank nicht über separaten Server Java Basics - Anfänger-Themen 4
B Dateiname in Datenbank schreiben Java Basics - Anfänger-Themen 2
J fortlaufende Objekte durch Variable auswählen; Datenbank Java Basics - Anfänger-Themen 4
S ArrayList in mysql Datenbank speichern Java Basics - Anfänger-Themen 6
C Datenbank - Welche Java Basics - Anfänger-Themen 5
B Java Objektorientierte Datenbank - Assoziation Hilfe Java Basics - Anfänger-Themen 4
G Input/Output Serialisierung oder Datenbank Java Basics - Anfänger-Themen 6
J Erste Schritte Objekte in Datenbank speichern Java Basics - Anfänger-Themen 26
A Android Datenbank gaaanz einfaches Insert geht nicht - warum? Java Basics - Anfänger-Themen 4
L Erste Schritte Datenbank Zugangsdaten sicher? Java Basics - Anfänger-Themen 15
S Input/Output Primzahlen Datenbank Java Basics - Anfänger-Themen 11
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
K Input/Output Datenbank Java Basics - Anfänger-Themen 27
M Datenbank in die Gui Java Basics - Anfänger-Themen 4
J JTable mit Daten aus Datenbank füllen Java Basics - Anfänger-Themen 3
F Erfassung von PCs in eine SQLite-Datenbank über JDBC Java Basics - Anfänger-Themen 9
T Datenbank Abfrage Exception Null Java Basics - Anfänger-Themen 2
M Brauche ich ein Datenbank oder nicht? Java Basics - Anfänger-Themen 6
D JDBC Datenbank fail?! Java Basics - Anfänger-Themen 20
A Problem beim einfügen in eine Datenbank Java Basics - Anfänger-Themen 2
F Classpath Datenbank ... nur wo? Java Basics - Anfänger-Themen 24
H Datenbank suche in kleine Schritte Java Basics - Anfänger-Themen 6
B Personalnummer aus Datenbank Java Basics - Anfänger-Themen 3
M Welche Datenbank? Java Basics - Anfänger-Themen 5
J RadioButtonInhalt in Datenbank übergeben Java Basics - Anfänger-Themen 3
R Datenbank bei Klassenverteilung führt zu NullPointerException Java Basics - Anfänger-Themen 7
J PW von Datenbank wie abspeichern? Java Basics - Anfänger-Themen 2
F Verbindung zu MySql Datenbank Java Basics - Anfänger-Themen 4
MU5T4NG JPasswordField als Hash in Datenbank abspeichern Java Basics - Anfänger-Themen 3
J Kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
J Eigene kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
F Collections Datenbankdaten in einer Map speichern, bearbeiten, sortieren und wieder in Datenbank schreiben Java Basics - Anfänger-Themen 20
T Zugangsdaten für Datenbank in Java-Programm speichern? Java Basics - Anfänger-Themen 5
S Schnittstelle für Datenbank bzw. Dateiformat Java Basics - Anfänger-Themen 2
C ComboBoxModel mit Daten der Datenbank verändern Java Basics - Anfänger-Themen 2
T Datenbank automatisch erzeugen beim ersten Start Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben