Register for your free account! | Forgot your password?

Go Back   elitepvpers › Coders Den › Java
You last visited: Today at 17:00

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Java Sql statement

Discussion on Java Sql statement within the Java forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2009
Posts: 593
Received Thanks: 109
Java Sql statement

Ich habe folgendes Problem: Ich möchte in meine HSQL datenbank etwas einlesen, das auslesen funktioniert 1a nur die eingabe(einlesen) von neuen Daten funktioniert nicht, mir wird kein fehler ausgeworfen und ich habe auch keine ahnung woran es liegt, wenn ich den sql befehl direkt in der db ausführe dann wird der auch ausgeführt :/

Die Verbindung :
Code:
public Connection dbVerbinden(){
		 try
		    { 
		        // Treiberklasse laden
		      Class.forName( "org.hsqldb.jdbcDriver" ); 
		    } 
		    catch ( ClassNotFoundException e ) 
		    { 
		      System.err.println( "Treiberklasse nicht gefunden!" ); 
		      
		    } 
		  
		    Connection con = null; 
		  
		    try
		    { 
		      con = DriverManager.getConnection(  
		              "jdbc:hsqldb:file:C:/Users/Sven/Documents/hsqldb; shutdown=true", "videothek", "" ); 
		      
		    } 
		    catch ( SQLException e ) 
		    { 
		      e.printStackTrace(); 
		    } 
		  
		    return con;
	}
Der Code zum einlesen

Code:
public void Titeleinlesen(String sTitel){
		Connection verb = dbVerbinden();
		sqlb = "INSERT INTO Filme (Titel) VALUES ('"+sTitel+"')";
		
		try {
			Statement stmt = verb.createStatement();
			stmt.executeUpdate(sqlb);
		}
		catch (SQLException sq){
			sq.printStackTrace();
		}
		try { 
            verb.close(); 
            } catch ( SQLException e ) { 
                e.printStackTrace(); 
            }
	}
Danke für die Hilfe
sven12345 is offline  
Old   #2
 
Zunft's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 3,185
Received Thanks: 1,317
Du musst die ' escapen also \' nutzen

Aber wie dem auch sei, du solltest eher ein Prepared Statement verwenden:

Code:
PreparedStatement stmt = c.prepareStatement("INSERT INTO Filme (Titel) VALUES (?)");

//Folgende Zeile würde ich dir zusätzlich empfehlen:
//sTitel = org.apache.commons.lang.StringEscapeUtils.escapeSql(sTitel);

stmt.setString(1, sTitel);
stmt.execute();
Zunft is offline  
Old   #3
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 444
Was bringt escapeSql() bei einem Prepared Statement?
algernong is offline  
Old   #4
 
Zunft's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 3,185
Received Thanks: 1,317
Quote:
Originally Posted by algernong View Post
Was bringt escapeSql() bei einem Prepared Statement?
Bei bestimmten Zeichen traten bei mir trotzdem Probleme auf
Zunft is offline  
Thanks
1 User
Old   #5
 
elite*gold: 0
Join Date: Jun 2009
Posts: 593
Received Thanks: 109
würde auch gehen das ich sage stmt.replaceall(" ' ","/'")
so wie du es mir oben geschrieben hast funktioniert es leider auch nicht :/
sven12345 is offline  
Reply


Similar Threads Similar Threads
[JAVA Error] Could not create the java virtual machine
07/21/2013 - Technical Support - 10 Replies
Schönen Abend! Leider hat es sich aus einem unerfindlichen Grund ergeben, dass sobald ich die Minecraft.exe starten will die Errormeldung kommt. Die Tips auf Minecraft.net habe ich schon ohne Erfolg befolgt. Hoffe ihr könnt mir weiterhelfen... Mein PC:
Java: missing return statement
02/09/2013 - General Coding - 11 Replies
hallo, ich habe folgenden quelltext und er lässt sich einfach nicht kompilieren, wo steckt der Fehler? public boolean Zeile(int zeile, int zahl) { for (int i = 0; i < 9; i++) { if (feld == zahl) { return false; }



All times are GMT +2. The time now is 17:00.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.