Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - SQL - auf ganze Zeile zugreifen


herrfuchs - So 25.11.12 11:16
Titel: SQL - auf ganze Zeile zugreifen
Hallo liebes Forum,

irgendwie bekomme ich es nicht hin, dass ich nach einer bestimmten ID die in Accessdatenbank suche und die dazu in einer Zeilen liegenden Werte auszulesen.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
 OleDbConnection con = new OleDbConnection(
            @"Provider=Microsoft.ACE.OLEDB.12.0;
            Data Source=C:\Liste.accdb"
);
            con.Open();

            string strSQL = "SELECT id FROM tabelle WHERE id=5"//zu dieser ID möchgte ich die restlichen Werte in der selben Zeile auslesen
             
            OleDbCommand cmd = new OleDbCommand(strSQL, con);
            OleDbDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                MessageBox.Show(dr[0].ToString());
            }
            dr.Close();
            con.Close();




Mfg herrfuchs


jfheins - So 25.11.12 11:59

Zuerst würde ich die SQL Query anpassen zu "SELECT * FROM..."
Danach würde ich einen Breakpoint in die Schleife setzen und gucken was in dem OleDbDataReader noch so alles drin steht. Vielleicht ist ja dr[1] schon hilfreich...


Th69 - So 25.11.12 12:00

Hallo,

benutze '*', um alle Spalten zu holen:

C#-Quelltext
1:
string strSQL = "SELECT * FROM tabelle WHERE id=5";                    

Du mußt dann nur innerhalb deiner Read-Schleife eine weitere Schleife benutzen (Stichwort: FieldCount-Eigenschaft).


herrfuchs - So 25.11.12 12:10

Danke für die Hilfe ich habe schon gelöst ;)