# falscher Befehl executeQuery() issue data



## Einklang. (25. Jul 2012)

Kurze Frage:

Bei diesem Befehl:

```
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


----------



## Marcinek (25. Jul 2012)

Can not issue data manipulation statements with executeQuery( - Google-Suche)


----------



## mvitz (25. Jul 2012)

Und um deine Faulheit noch zu unterstützen:

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


----------



## Marcinek (25. Jul 2012)

Damit machst du dich auch schuldig ;D


----------



## Einklang. (25. Jul 2012)

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


----------



## Marcinek (25. Jul 2012)

Google?


----------



## Einklang. (25. Jul 2012)

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!! ;-)


----------



## Marcinek (25. Jul 2012)

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.


----------



## Einklang. (25. Jul 2012)

Wenns in diesem Forum schon da ist ist SUFU ein Argument....! ;-)


----------



## Einklang. (25. Jul 2012)

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...:


```
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:

```
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


----------



## nillehammer (26. Jul 2012)

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.


----------



## Einklang. (26. Jul 2012)

Ok danke!


----------



## 124wertlich (26. Jul 2012)

Einklang. hat gesagt.:


> 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?


----------

