MySQL PreparedStatement query Problem

waslos

Mitglied
Vorerst wünsche ich den Lesern Frohe Weihnachten.

Ich bin dabei eine kleine Web-Applikation (JSP) zu erstellen in der ich die MySQL Version 5.5.27 verwende.

Leider wird der Query der an die DB gesendet wird falsch zusammen gestellt, anbei ein Beispiel:

SELECT nummer, datum, stand FROM 'gas' --> die Zeichen ' ' werden natürlich von der DB nicht akzeptiert, der Query musste so aussehen --> SELECT nummer, datum, stand FROM `gas`

Beim Connect ist das Encoding=true und der characterEncoding auf UTF-8 gesetzt-->


Java:
conn = DriverManager.getConnection(
					data.getUrl() + data.getDbName()+"?useEncoding=true&characterEncoding=UTF-8", data.getUserName(),
					data.getPassword());

Die Methode die das Ergebnis liefert:

Java:
	public ArrayList<Data> getAllData(String tableName) throws SQLException {
		conn = getConnection();
		ArrayList<Data> dataList = new ArrayList<Data>();
		PreparedStatement query;

		query = conn.prepareStatement("SELECT nummer, datum, stand FROM ?");
		query.setString(1, tableName);
                //Test
		System.out.println(query.toString());
		ResultSet result = query.executeQuery();
		

		while (result.next()) {
			Data data = new Data();
			data.setNummer(result.getInt("nummer"));
			data.setDatum(result.getDate("datum"));
			data.setStand(result.getString("stand"));
			dataList.add(data);
		}
		return dataList;
	}

Hat jemand einen Tipp? Danke schön!

VG
 

Nero90

Mitglied
Das mit den Anführungszeichen ist eigentlich recht einfach.
Du kannst innerhalb eines Strings mit \ einen Befehl übergeben.
Z.B. \n wäre neue Zeile, oder \" um ein Anführungszeichen in den String zu bauen.
Das sähe dann in etwa so aus:

Java:
query = conn.prepareStatement("SELECT nummer, datum, stand FROM \" "+variable+"\" ");


Ach und Frohe Weihnachten. ;)
 

waslos

Mitglied
Hi,

Noro90 das mit dem Escap ist mir bekannt, danke aber für den Tipp. Eigendlich wollte ich es so nicht lösen.

@KSG9|sebastian

Klar wurde es in diesen Fall reichen, wenn ich jedoch eine Bedingung setzen möchte nutzt mit leider der gesamte Inhalt der Tabelle nichts.

VG
 

waslos

Mitglied
Hallo KSG9|sebastian,

verwende ich auch, siehe Beispiel.
Meine Frage bezog sich auf den Query der mit " ' ' " zusammen gesetzt wird. Für die DB ist es ein Syntaxfehler.

VG
 

waslos

Mitglied
Hi,

ich glaube meine Frage falsch formuliert zu haben.

Java:
        query = conn.prepareStatement("SELECT nummer, datum, stand FROM ?");
        query.setString(1, tableName);

Ergibt als String --> SELECT nummer, datum, stand FROM 'value'

Ergebnis MySQL Syntaxfehler da der Query so aussehen muss--> SELECT nummer, datum, stand FROM `value`
VG
 

turtle

Top Contributor
Ich möchte kurz anmerken, das es mit myBATIS geht, den SQL-String komplett zu parametrisieren und somit auch den Tabellennamen zu ändern.

Code:
<select id=”selectTable” parameterType=”String”>
SELECT nummer, datum, stand FROM ${TableName}
</select>

Nutzen würde man dies dann mit
Java:
sqlSession.selectList("selectTable", "beispielTabelle");
Wer mehr über myBATIS wissen möchte, kann meinen Blog lesen.
 

waslos

Mitglied
Hallo KSG9|sebastian

genau das war der Fehler ;-) DANKE. Es war mir nicht bekannt dass man keinen Tabellennamen übergeben kann.

Da ich die Abfrage in dieser Form auch nicht benötige(war nur ein Test), ist mein Problem auch gelöst.

Ich bedanke mich bei allen für die raschen Antworten!
VG
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C No suitable driver found for jdbc:odbc:mysql Java Basics - Anfänger-Themen 8
E Mysql Update wenn es nicht existiert insert Java Basics - Anfänger-Themen 14
Dimax In Java File (nicht in Java Projekt) mysql Driver importieren Java Basics - Anfänger-Themen 3
H Verbindungsprobleme BluJ und MySQL Java Basics - Anfänger-Themen 1
R Java mit MySQL - Verbindungsprobleme Java Basics - Anfänger-Themen 1
B Arquillian installieren - Maven, WildFly, MYSQL Java Basics - Anfänger-Themen 1
M Java Mysql ausführbare datei Java Basics - Anfänger-Themen 7
B MySQL (jdbc) -> connection liefert NULL Java Basics - Anfänger-Themen 3
J Java Verbindung mit mysql Datenbank Java Basics - Anfänger-Themen 3
J MySQL Datumsabfrage über ResultSet in Java-Servlet Java Basics - Anfänger-Themen 4
Dimax Programme ,als Text in MySql speichern Java Basics - Anfänger-Themen 7
R Keine Verbindung zu MySql über Netbeans Java Basics - Anfänger-Themen 15
R Input/Output Verbindung mit mySql-Datenbank Java Basics - Anfänger-Themen 9
Q-bert MYSQL-Eintrag Java Basics - Anfänger-Themen 2
J Sonderzeichenproblem bei Datenabfrage in MySQL Java Basics - Anfänger-Themen 6
F Java MySQL Java Basics - Anfänger-Themen 3
C JTable update mit MySQL Datenbank Java Basics - Anfänger-Themen 1
D zu viele MySQL Connections Java Basics - Anfänger-Themen 18
D MySQL Abfrage in JTable speichern Java Basics - Anfänger-Themen 43
D NPE beim laden von Daten aus MySQL Java Basics - Anfänger-Themen 9
D Eine MySQL Verbindung in mehreren Klassen Java Basics - Anfänger-Themen 8
D JTable Zeile wird nicht in MySQL gelöscht Java Basics - Anfänger-Themen 16
D Datum aus Swing in MySQL DB speichern Java Basics - Anfänger-Themen 22
B MySQL starten / stoppen -> Stoppen erzeugt neuen Prozess Java Basics - Anfänger-Themen 0
B MySQL Path bekommen Java Basics - Anfänger-Themen 40
P Brauche Hilfe bei ResultSet mit MySQL Java Basics - Anfänger-Themen 6
H JAva und MySQL Java Basics - Anfänger-Themen 1
S Best Practice MVC und große Datenmengen aus einer mySQL - Datenbank Java Basics - Anfänger-Themen 24
U Glassfish mit MySQL verbinden Java Basics - Anfänger-Themen 1
N Erste Schritte MySQL Tabelle in JList darstellen Java Basics - Anfänger-Themen 1
A Erste Schritte Verbindung zu MySQL Datenbank herstellen Java Basics - Anfänger-Themen 7
M Mysql "live" Ansicht Java Basics - Anfänger-Themen 10
K Classpath Mysql EclipseFehler? Java Basics - Anfänger-Themen 12
M Aktuelles Datum in MySQL speichern Java Basics - Anfänger-Themen 11
V Umlaute in mysql, antscript, powershell utf-8 Java Basics - Anfänger-Themen 7
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
S in MySQL Daten Bank speichern Java Basics - Anfänger-Themen 8
N mit Werten aus einer mysql datenbank in java rechnen Java Basics - Anfänger-Themen 17
T MySQL - Java Organisationsfrage Java Basics - Anfänger-Themen 4
S ArrayList in mysql Datenbank speichern Java Basics - Anfänger-Themen 6
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
D Mysql ob feld existiert Java Basics - Anfänger-Themen 2
D Mysql schauen Name bereits existiert Java Basics - Anfänger-Themen 7
X MySQL - Query Java Basics - Anfänger-Themen 3
J JAVA zu unsicher für MYSQL? Java Basics - Anfänger-Themen 4
S JDBC MySQL Connector - Element mit ' eintragen? Java Basics - Anfänger-Themen 4
F Verbindung zu MySql Datenbank Java Basics - Anfänger-Themen 4
K In MySQL Select Variablen aus Java Programm benutzen Java Basics - Anfänger-Themen 8
N Java dateFormat und Mysql DateTime Java Basics - Anfänger-Themen 2
B Java MySQL Query ausgeben Java Basics - Anfänger-Themen 4
J Java JDBC MySQL Query Java Basics - Anfänger-Themen 6
S mysql-connector-java-*.jar, MySql ResultSet - Alle ROWs ausgeben? Java Basics - Anfänger-Themen 3
S Datentypen EclipseLink, Datumsformat für MySQL Java Basics - Anfänger-Themen 9
S Resultset Closed (Mysql) Java Basics - Anfänger-Themen 5
K MySQL, Classpath, Java, MAC OSX Java Basics - Anfänger-Themen 3
O HashMap<> in MySQL database speichern Java Basics - Anfänger-Themen 3
D Mysql Connection Close? Java Basics - Anfänger-Themen 14
M Java - MySQL (Eclipse Java EE Web Developers) Java Basics - Anfänger-Themen 4
D Frage MySQL Columnheader Java Basics - Anfänger-Themen 2
D Java mit Mysql Datenbank angebunden Java Basics - Anfänger-Themen 5
I Null - Wert bei Date (Mysql) Java Basics - Anfänger-Themen 2
D Verständnisfrage: Java und MySql Java Basics - Anfänger-Themen 3
P Applet und MySQL-Problem Java Basics - Anfänger-Themen 20
P Applet, Daten IO, MySql Java Basics - Anfänger-Themen 2
T MySQL-Dienst starten und stoppen aus Netbeans Java Basics - Anfänger-Themen 3
A Java und MySQL!!! Java Basics - Anfänger-Themen 3
Kasoki Java und MySQL ? Java Basics - Anfänger-Themen 4
S CSV-Datei einlesen und in MySql schreiben Java Basics - Anfänger-Themen 3
M mysql-connector-java-5.1.7-bin. jar in die umgebungsvariable installieren Java Basics - Anfänger-Themen 14
A Frage zu java und MySQL Java Basics - Anfänger-Themen 3
J MySQL Timestamp "lesbarer" gestalten Java Basics - Anfänger-Themen 6
J Fehler bei MySql Anbindung mit JDBC Java Basics - Anfänger-Themen 4
W MySQL Driver als Resource laden Java Basics - Anfänger-Themen 5
D MySQL Abfrage. keine Ahnung Java Basics - Anfänger-Themen 5
M 5 MySql Tabellen in JTable - variable TableHeader? Java Basics - Anfänger-Themen 2
K Verbindung zu MySQL Java Basics - Anfänger-Themen 4
G wie erfragt man die letzte ID in einer MySQL Datenbank ab? Java Basics - Anfänger-Themen 3
S MySQL - connection Java Basics - Anfänger-Themen 8
S Zyklisches abspeichern von Daten aus einr MySql Datenbank Java Basics - Anfänger-Themen 9
B Client - Server Verbindung über sockets mysql DB ansprechen? Java Basics - Anfänger-Themen 6
G simple suche in java - mysql Java Basics - Anfänger-Themen 10
G Java und mySQL Hilfethread Java Basics - Anfänger-Themen 12
W Java.mysql.date in GregorianCalender konvertieren Java Basics - Anfänger-Themen 2
W Aus Textfeld ein "MySQL Date" auslesen Java Basics - Anfänger-Themen 2
W Endlosscshleife bei MySQL Abfrage Java Basics - Anfänger-Themen 5
N Problem mit MySql und Java Java Basics - Anfänger-Themen 12
P mySQL Datenbanktreiber nutzen Java Basics - Anfänger-Themen 2
J Statement an MySQL Datenbank schicken Java Basics - Anfänger-Themen 4
S Tabelsorter von SUN, wie muss die MysQL Anbindung realisiert Java Basics - Anfänger-Themen 11
J Zugriff auf eine Mysql-DB unter Linux Java Basics - Anfänger-Themen 6
G Mysql escape // html untauglich machen Java Basics - Anfänger-Themen 3
X Java & MySQL Java Basics - Anfänger-Themen 7
D Datenbankprogrammierung mit MYSQL. Java Basics - Anfänger-Themen 7
F Daten in MySQL Tabelle schreiben Java Basics - Anfänger-Themen 9
P wie erzeuge ich ein java date und lade in die mysql datebank Java Basics - Anfänger-Themen 5
M JSP --> Verbindung zur MySQL Datenbank geht nicht ! HILFF Java Basics - Anfänger-Themen 7
G POI und MySQL Java Basics - Anfänger-Themen 2
G in eine Tabelle mit mySQL eine Zeile hinzufügen Java Basics - Anfänger-Themen 17
G MySQL Tutorial Java Basics - Anfänger-Themen 2
X 1 MySQL-Verbindung und viele Threads Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben