# Benötige etwas Hilfe bei Datanbankabfrage über Java



## Pulp Fiction (28. Jun 2008)

Hallo


----------



## Siassei (28. Jun 2008)

Hallo,

netter Name  :wink: 

Aha, nette Beschreibung. Jedoch vermisse ich ein paar Angaben
- eine mögliche Fehlermeldung seitensTomcat. Oder gibts keine?
- eine Frage  :wink: In der kürze liegt die würze. Es ist schön, dass du alles hier postet und deinen Kenntnisstand über dieses Problem darlegst. Aber es gibt nicht viele, die mehrere hundert Zeilen schlecht strukturierten Code lesen und Fehler suchen   -> Das Problem eingrenzen und posten  :wink: 


*index.html*

```
<form action="eintragdb.jsp" method="get">
```
Für die Übermittlung sollte POST gewählt werden -> die Adressleiste wird nicht zugemüllt und 95% der Clients können die Postdaten nicht lesen  :wink: 


*eintragdb.jsp*

*Wichtiger Hinweis :!: *
1.) Code im JSP-Dokument -> ich würde dich umbringen  :noe: Es ist ein schönes Feature, aber sollte ausschließlich für Strukturierungs-Operationen genutzt werden z.B. für das Erzeugen einer Tabelle mittels DB-Werte. Selbst das lässt sich dank gut organisierten Beans und Tags vermeiden.*Ansonsten erledigt ein Servlet alle anstehenden Aufgaben und gibt die Ergbnisse an die JSP-Seite weiter*

2.) Bean: Repräsentiert ein Bindeglied zwischen der Visualisierungsschicht und Logikschicht! Er besitzt in der Regel nur set und get Methoden.

3.) logbuch_package.DBZugriff. Was ist das denn? Vielleicht liegt der Fehler hier.

Jetzt kannst du mal selber den Fehler etwas eingrenzen und danach eine exakt definierte Frage mit ein wenig Code stellen  :wink:


----------



## Gast (29. Jun 2008)

```
statement.execute("INSERT INTO fluege " + "(FLIGHT NUMBER, CALLSIGN, DATE, DEPARTURE, ARRIVAL, ALTERNATE 1, ALTERNATE 2, DEPARTURE TIME, ARRIVAL TIME, FLIGHT TIME, TOTAL TIME, AIRCRAFT, FUEL, ROUTE, REMARKS) " + "VALUES  (\"" + flightnumber + "\",\"" + callsign + "\",\"" + date + "\",\"" + departure + "\",\"" + arrival + "\",\"" + alternate1 + "\",\"" + alternate2 + "\",\"" + departuretime + "\",\"" + arrivaltime + "\",\"" + flighttime + "\",\"" + totaltime + "\",\"" + aircraft + "\",\"" + fuel + "\",\"" + route + "\",\"" + remarks + "\");");
```

Ich verwende den obigen Code um Daten in die Datenbank zu speichern. Ich bin nach diesem Beispiel vorgegangen: Java MySQL

Als Fehler erhalte ich: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 'NUMBER, CALLSIGN, DATE, DEPARTURE, ARRIVAL, ALTERNATE 1, ALTERNAT 2, DEPARTURE T' at line 1

Ich kann mir wirklich nicht erklären wo der Fehler liegt.


----------



## Siassei (29. Jun 2008)

Hallo,

falls ich dich etwas grob angegangen habe, entschuldige ich mich. War nicht so gemeint  :wink: 


```
statement.execute("INSERT INTO ´fluege´ "

+ "(´FLIGHT NUMBER´, CALLSIGN, DATE, DEPARTURE, ARRIVAL, ´ALTERNATE 1´,"+
" ´ALTERNATE 2´, ´DEPARTURE TIME´, ´ARRIVAL TIME´, ´FLIGHT TIME´, ´TOTAL TIME´, AIRCRAFT, FUEL, ROUTE, REMARKS) "
// Tabellen-/ Spaltennamen mit Leer- oder Sonderzeichen sind immer etwas Problematisch
// Tipp: Benutze statt eines Leerzeichen das "_"
// und setze bei allen Tabellen- und Spaltennamen das "`"-Zeichen.

+ "VALUES  (\"" + flightnumber + "\",\"" + callsign + "\",\"" + date + "\",\"" + departure + "\",\"" + arrival + "\",\"" +
 alternate1 + "\",\"" + alternate2 + "\",\"" + departuretime + "\",\"" + arrivaltime + "\",\"" + flighttime + "\",\"" +
 totaltime + "\",\"" + aircraft + "\",\"" + fuel + "\",\"" + route + "\",\"" + remarks + "\")");
// Ich kenne die Spaltenwerte nicht, aber bei Nummern sollten die Werte nicht mit " gekennzeichnet werden.
// Dies führt manchmal zu Fehlern.
```

Im MySQL-Handbuch[1] kannst du das Insert-Statement noch mal nachlesen. Stellt dir dein Webhoster PHPMyAdmin zur Verfügung? Am Anfang kann dieser sehr nützlich beim Erstellen von SQL-Anweisungen sein. Einfach die Aktion im zusammen klicken und in den Code aufnehmen und die Testwerte mit den Variablenwerte ersetzen  :wink:

[1] MySQL - Insert


----------

