# Probleme mit Select abfrage



## 4ak (14. Mrz 2007)

Hi leute ich hab ein problem mit meiner Select abfrage, ich hab eine Datenbank einer Buchhandlung und soll dafür eine Gui programmieren. Doch es hängt schon bei der select abfrage.

Wenn ich "Select * from Bücher;" klappt alles wunderbare. Doch wenn ich
"Select Titel from Bücher Where Titel = XXXX;" dann klappt nichts mehr. 
Ich komm als Fehlermeldung das 1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben wurden. 

Hoffe ihr könnt mir Helfen, ich füge noch den code der Klasse ein damit ihr es euch anschauen könnt.

Danke schonmal im voraus


```
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.Vector;
import javax.swing.JTable;

public class Datenanbindung {
    
    
    public	JTable table; 
    /** Creates a new instance of Datenanbindung */
     public void abfrage() {
     	//String wert1 = a;
     	//String wert2 = b;
     	//String wert3 = c;
        
     
        Vector columnNames = new Vector();
        Vector data = new Vector();
       try{
            //Abfrage definieren
            String query = "SELECT Titel From Bücher WHERE Titel = Cowboy;";
             // String query = "SELECT *FROM Bücher;";
            //Datenbankverbindung herstellen
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con=DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=G:/Users/mildi/Desktop/InMa/InmaBuchhandlung.mdb","","" );
            System.out.println("Connection Successful ");
            Statement stmt = con.createStatement();
            ResultSet rst = stmt.executeQuery(query);
            ResultSetMetaData md = rst.getMetaData();
            int columns = md.getColumnCount();
            //  Spaltennamen ermitteln
            for (int i = 1; i <= columns; i++) {
                String colname=md.getColumnName(i);
                columnNames.addElement( colname );
            }
            //  Zeileninhalt ermitteln
            while (rst.next()) {
                Vector row = new Vector(columns);
                for (int i = 1; i <= columns; i++) {
                    row.addElement( rst.getObject(i) );
                }
                data.addElement( row );
            }
            rst.close();
            stmt.close();
        } catch(Exception e) {
            e.printStackTrace();
        }
        
        //  Tabelle erzeugen
        table = new JTable(data, columnNames);
        //scrollTabelle.setViewportView(table);
        
    }
    public JTable rückantw()
        {
        	return this.table;
        }
    
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
   

    
    // Variablendeklaration
    //private javax.swing.JScrollPane scrollTabelle;
    
}
```


----------



## Roar (14. Mrz 2007)

davon abgesehen dass "SELECT Titel From Bücher WHERE Titel =..." nich so wirklich sinn macht, sollte das "cowboy" anscheinend in ''.
was is das für ne datenbank? access? das würde immerhin die miese fehlermeldung erklären :roll:


----------



## Guest (15. Mrz 2007)

wieso macht das kein sinn?
ja das ist eine access-datenbank, ist ein schulprojekt


----------



## DP (15. Mrz 2007)

du musst den suchbegriff in ' oder " setzen. ferner solltest du über where titel like und wildcards nachdenken


----------



## Guest (15. Mrz 2007)

jo danke werde das mal ausprobieren


----------

