# SQL Befehle in Java



## SirWayne (16. Juni 2006)

Habe eine GUI in der man daten eingeben kann Z.B KundenNR ,KundenNamen usw.
Ich hole die Strings aus den textfeldern heraus und speichere diese in eine Variable.
String sName=txtKundenNamen.getText();
so jetzt wenn ich den Insert into tabellenname values befehl anwende weiß ich nicht wie diesen String herausbekomme um in den Befehl zu schreiben.
z.b 
String sKdnr=.....;
String sName=....;

diese Eingabe ist falsch:
Insert into Kunde values(' sKdnr', 'sName')";

wie geht es richtig 
Danke für eure Hilfe


----------



## daryl (16. Juni 2006)

"Insert into Kunde values('"+sKdnr+"', '"+sName+"');"

So sollte das funktionieren - natürlich innerhalb einer Funktion, die die Query dann auch ausführt.


----------



## DerKleineVomSee (16. Juni 2006)

Also ich mache das immer so:
Insert into Kunde ("sKdnr", "sName") VALUES('"+sKdnr+"', '"+sName+"');

....und das war es auch schon. Ich hoffe ich konnte helfen.


----------



## BLOEBAUM (16. Juni 2006)

Hallo SirWayne,

hier eine Routine mit Varialblenübergabe zum insert in eine Datenbank:

//******************************************************
// Insert: Datensätze in Datenbank WGR 
//******************************************************
public boolean  InsertWGR (int wgrnr, String bezeichnung,
							String datanl, String dataend,
							String loekz) throws Exception
{	
	 GlobaleDaten.stmt = GlobaleDaten.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

	try {
//		SQL Statement absetzen
		java.sql.PreparedStatement ps = GlobaleDaten.con.prepareStatement(
				"INSERT INTO wgr VALUES(?, ?, ?, ?, ?)");
//		Platzhalter mit Variablen füllen - auf Datentyp achten!!
//		Jede Variable muss gefüllt werden!
//		ps.setDatentyp(Platzhalternummer, Variable)

//		Start - Steuerung über Klasse Globale Daten
//		public static int nummer = 0; dies in Klasse Globale Daten definieren
//		ps.setInt(1,GlobaleDaten.nummer);    Feld aus der Klasse ansprechen
//		Ende Steuerung über Klasse Globale Daten

		ps.setInt(1,wgrnr);
		ps.setString(2,bezeichnung);
		ps.setString(3, datanl);
		ps.setString(4, dataend);
		ps.setString(5, loekz);

//		Datenbankbefehl absetzen Ende
		ps.execute();			

	}
	catch (SQLException e)
	  {
	   while (e != null) {
	     System.err.println(e.toString());
	     System.err.println("SQL-State: " + e.getSQLState());
	     System.err.println("ErrorCode: " + e.getErrorCode());
	     if (e.getErrorCode() == 1062)
	     {
//	    	 System.err.println("Warengruppe " +wgrnr +" schon vorhanden");
	    	 String sMeldung = "Warengruppe " +wgrnr +" schon vorhanden";
	    	 JOptionPane.showMessageDialog(getParent(), sMeldung);
	    	 }

	     e = e.getNextException();
	   }
	   return false;
}
	return true;   
}

private Component getParent() {
	// TODO Automatisch erstellter Methoden-Stub
	return null;
}




Gruß

Harald


----------

