Hi Mansur,

zur Info: DataReader ist ein forward, readonly Recordset, wie man den unter
ADO kennt.

du hast erstens die M�glichkeit direkt den DataReader an das DataGrid zu
binden

DetailsGrid.DataSource =
myCommand.ExecuteReader(CommandBehavior.CloseConnection);


oder wenn du ein DataTable ben�tigst, um es in der Session zu speichern,
dann kannst du ein DataAdapter einsetzen, der dir dein DataTable oder
DataSet usw. f�llt...

SqlDataAdapter sda = new SqlDataAdapter(myCommand)
sda.Fill(myDt)
usw. ....

Gr�sse
Andreas




-----Urspr�ngliche Nachricht-----
Von: Mansur Esmann [OM] [mailto:[EMAIL PROTECTED]]
Gesendet: Donnerstag, 18. Juli 2002 09:37
An: aspDEdotnet
Betreff: [aspdedotnet] AW: DataGrid - Eigenschaft


Hallo,

ja hab Fragen :-)

Cannot implicitly convert type 'System.Data.SqlClient.SqlDataReader' to
'System.Data.DataTable'

Demnach habe ich mit...
myCommand.ExecuteReader(CommandBehavior.CloseConnection)
...einen SqlDataReader und kein DataTable, was scheinbar nicht akzeptiert
wird ....

Ich habe also...
SqlDataReader myDT
...gemacht...

Der SqlDataReader hat aber keine Definition f�r Table ....
somit kann ich mit der von Dir vorgeschlagenen Methode nicht auf das Element
zugreifen...


Kann ich also den SqlDataReader in einem DataTable umwandeln und eben dort
speichern?

Gru� Mansur


>
> Warum gehst Du nicht folgender  ma�en vor:
>
> DataTable myDT = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
>
> DetailsGrid.DataSource = myDT
>
> jetzt steht die ID in der DataTable.
>
> Jetzt mu�t Du irgend wie daf�r sorgen, das Du die DataTable noch
> verf�gbar hast.
> Du kannst die DataTable static machen, ist nicht empfehlenswert
> oder sie in die Session legen. Das geht so:
>
> Session.Add("S_myDT",myDT);
>
> Willst Du die DataTable aus der Session wieder raus haben, machst
> Du das so:
>
> Session.Remove("S_myDT");
>
> Willst Du auf die DataTable zugreifen, so:
>
> //casten des Inhaltes der Session auf DataTable
> (DataTable)Session["S_myDT"]
>
> Um an die einzelnen Zellen zu gelangen:
>
> //durch alle Zeilen
> for (int i = 0 ; i <
> ((DataTable)Session["S_myDT"]).Tables[0].Rows.Count ; i++)
> {
>       //durch alle Spalten
>       for (int j = 0 ; j <
> ((DataTable)Session["S_myDT"]).Tables[0].Columns.Count ; j++)
>       {
>               //Zelle in der i-ten Zeile und j-ten Spalte
>               ((DataTable)Session["S_myDT"]).Tables[0].Rows[i][j];
>       }
> }
>
> Du kannst aber auch direkt mit der ZeilenNummer (die Du vom
> DataGrid bekommst) und dem SpaltenNamen auf die Zelle zugreifen:
>
> //Zeile 5 Spalte ID
> ((DataTable)Session["S_myDT"]).Tables[0].Rows[5]["ID"];
>
> Ich hoffe das hilft Dir. Fragen?
>
> Dre�ler, Thomas
>
>
> -----Urspr�ngliche Nachricht-----
> Von: Mansur Esmann [OM] [mailto:[EMAIL PROTECTED]]
> Gesendet: Donnerstag, 18. Juli 2002 08:47
> An: aspDEdotnet
> Betreff: [aspdedotnet] DataGrid - Eigenschaft
>
>
> Hallo,
>
> ich hatte schon mal das Problem und jetzt brauche ich eine L�sung, die ich
> noch nicht gefunden habe ...
>
> Ich habe in meinem SELECt Statement ein Feld drinnen, welches ich nicht
> anzeige (ID).
>
> Somit kann ich nicht �ber Cells des Grids gehen, um diesen zu finden.
>
> Wei� jemand wie ich auf die einzelnen Spalten einer SqlConnection
> zugreifen
> kann?
>
> Ich verwende das Master/Detail - BEispiel, in dem die Daten folgenderma�en
> geholt werden:
>   DetailsGrid.DataSource =
> myCommand.ExecuteReader(CommandBehavior.CloseConnection);
>
>
> F�r Hinweise dankbar ...
>
> Gru� Mansur
>
>
> | [aspdedotnet] als [EMAIL PROTECTED] subscribed
> | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
>
> | [aspdedotnet] als [EMAIL PROTECTED] subscribed
> | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
>


| [aspdedotnet] als [EMAIL PROTECTED] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp

| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp

Antwort per Email an