# SQL-Query Methode



## Guest (10. Feb 2004)

Hallo zusammen,

ich möchte gerne eine Methode schreiben, die ein SQL-Statement ausführt!
Dazu übergebe ich ihr das SQL-Statement als String und speichere es anschließend in einer Variable.
dann bereite ich das sql-statement vor und führe es anschließend aus, hier der Code:


```
public ResultSet SqlQuery(String sql_statement)
{
	// SQL-Statement vorbereiten
	String sql = sql_statement;
	Statement SqlQuery = sql_connect.createStatement();
	ResultSet result = SqlQuery.executeQuery(sql);
	return result;
}
```

für mich sieht das richtig aus, aber eclipse meckert: "Fehler: Nicht behandelter Ausnahmebedingungstyp (exception type) SQLException" 

was hat das zu bedeuten? executeQuery erwartet doch parameter, wenn ich executeQuery das in der form mitgebe:
executeQuery("SELECT * FROM " + table);
kommt die gleiche meldung...
HELP!


----------



## el_barto (10. Feb 2004)

steht doch da, was zu tun ist. Statement#executeQuery(String) schmeißt 'ne SQLException, die abzufangen ist. Connection#createStatement() ebenso.


----------



## DreamArtist (10. Feb 2004)

Hallo,

eine SQL abfrage wirft eine SQLException

die Abfrage muß deswegen in einen try catch Block.

So ist der Code


```
public ResultSet SqlQuery(String sql_statement) 
{ 
    //Damit es einen rückgabe wert gibt
    ResultSet result = null;
 
    try
    {
       // SQL-Statement vorbereiten 
       String sql = sql_statement; 
       Statement SqlQuery = sql_connect.createStatement(); 
       result= SqlQuery.executeQuery(sql); 
    }
    catch ( SQLException e )
    {
        e.printStackTrace();
    }
    
   return result; 
}
```


----------



## AlArenal (10. Feb 2004)

Schnapp dir mal ein Java-Buch und lies mal nach, was da unter try-catch zu finden ist.

Im Übrigen gehört das ins JDBC-Forum.


----------



## Orolhawion (10. Feb 2004)

ja danke! das ging aber fix!  werds mir merken! 

gruß m.

@AlArenal: tja junge, ich bin nunmal anfänger, und hier gibts doch son schönes Anfängerfragenforum...  Warum also nicht nutzen? aber beim nächsten mal guck ich genauer ok?!  :wink:


----------

