falscher Befehl executeQuery() issue data

Einklang.

Bekanntes Mitglied
Kurze Frage:

Bei diesem Befehl:
Java:
ResultSet tabellenerstellen = tabserstellen.executeQuery("create table if not exists "+ tabellenname+" ("+sqlabfrage+")");

erhalte ich folgende Fehlermeldung:

SQL-Exception ist aufgetreten: Can not issue data manipulation statements with executeQuery().

Kann mir jemand sagen worans liegt.........??

Danke
 
Und um deine Faulheit noch zu unterstützen:

Du musst execute aufrufen und nicht executeQuery, da executeQuery nicht für DDL Statements gemacht ist.
 
Naja Faulheit stimmt nicht........ aber das will ich jetzt nicht ausbreiten.... ich will bei der Sache nur sicher gehen - sonst hab ich nämlich sehr viele tabellen erstellt um die ich mich bei nem fehler kümmern muss und von hand löschen ist da nicht mehr drin.... ;-)!

Du musst execute aufrufen und nicht executeQuery, da executeQuery nicht für DDL Statements gemacht ist.

execute allein oder executeUpdate()?

danke
 
Google verweist selbst nur auf Foren und erstellt selbst keine Inhalte!!

Bedeutet, ihr verweist mich auf andere Foren, in denen die MItglieder solche Fragen beantworten.........!

Einmal drüber nachdenken!! ;-)
 
1. Falsch
2. Selbst wenn. Das ist nunmal eine Anfängerfrage, die überall schon mal gestellt worden ist.
Was mich zu 3. bringt: SUFU nutzen

---

Fange endlich an selbständig Informatioen aus dem WWW abzurufen. Du bist schneller mit deiner Arbeit fertig und brauchst dir die Kommentare hier nicht anzutun.
 
Joa also alles geändert mit executeUpdate() und jetzt kommt ein Fehler der sich speziell auf meine Syntax bezieht und sozusagen nichts mit allgemeiner Frage zu tun hat...:

Java:
int tabellenerstellen = tabserstellen.executeUpdate("create table if not exists "+ tabellenname+" ("+sqlabfrage+")");

SQL-Exception ist aufgetreten: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'null null)' at line 1

Ich weiß einfach nicht woher die Klammer kommt bzw warum diese beanstandet wird.........!
Original Syntax stimmt ja überein - MySQL create table when not exists - MySQL tutorial | w3resource

Um sicher zu gehen dass in der Variable sqlabfrage keine klammer ist habe ich vorher folgendes gemacht:
Java:
System.out.println(tabellenname + " " + sqlabfrage);
			   System.out.println(tabellenname+" ("+sqlabfrage+")");

und erhalte dies als Ausgabe:
string null null
string (null null)

Wird auch im Debugger so bestätigt....!

Mir ist also nicht ganz klar warum die Klammer beanstandet wird!??

danke
 
Es wird nicht die Klammer beanstandet, sondern das "null null" in der Klammer. Dort würde man (und MySql auch) ja eigentlich die Spaltendefinitionen erwarten. "null null" ist eben keine gültige Spaltendefinition.
 
Google verweist selbst nur auf Foren und erstellt selbst keine Inhalte!!

Bedeutet, ihr verweist mich auf andere Foren, in denen die MItglieder solche Fragen beantworten.........!

Einmal drüber nachdenken!! ;-)

Immer das selbe. Irgendwie finde ich über google auch Tutorials und andere Erklärungen. Ev. mal lernen wie man google bedient?
 

Zurück
Oben