DataSet Inhalt

magic_halli

Erfahrenes Mitglied
Hi,

ich will mir den Name aus einer Tabelle ausgeben lassen. Ich fülle das DataSet und will dann eigentlich den Inhalt im IE darstellen...

Code:
Dim MyConn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:/Inetpub/wwwroot/asp_net/diplom.mdb")

Dim selectCMD As OleDbCommand = New OleDbCommand("SELECT Name FROM Professoren", MyConn)
selectCMD.CommandTimeout = 30

Dim custDA As OleDbDataAdapter = New OleDbDataAdapter
custDA.SelectCommand = selectCMD

Dim custDS As DataSet = New DataSet
custDA.Fill(custDS, "Professoren")

Dim myTable As DataTable
Dim myColumn As DataColumn
For Each myTable in custDS.Tables
For Each myColumn in myTable.Columns
response.write(myColumn.ColumnName &"<BR>")
Next
Next

Habe das alles mit Buch zusammengesetzt. Eigentlich sollte es funktionieren, aber das tut es leider nicht.
Ich will mir eigentlich nur den Inhalt der Tabelle Professoren, da speziell die Namen, ausgeben lassen!
Was habe ich falsch gemacht?
Wie kann ich prüfen, ob in meinem DataSet überhaupt etwas drinsteht?
Wie kann ich den Inhalt dann ausgeben lassen?

Danke
 

SixDark

Erfahrenes Mitglied
Hi!

Code:
Dim myTable As DataTable
myTable = custDS.Tables("Professoren")

Dim s_Name As String
Dim r As DataRow
For Each r in myTable.Rows
    s_Name = r.Item("Name").ToString
    response.write(s_Name &"<BR>")
Next

Wobei "Name" der Spaltenname in der Datenbank ist. Du kannst hier auch mit einer Column-Nummer drauf zugreifen. Z.B.:

s_Name = r.Item(1).ToString

Das wäre dann die 2. Spalte in der Tabelle im DataSet.
Ich hoffe ich konnte helfen!

MfG
..::Six Dark::..
 

magic_halli

Erfahrenes Mitglied
...Habe doch noch eine Frage.

Wenn ich mir jetzt in einer Tabelle die Datensätze ausgeben lassen will, wie muß ich dann die Schleife gestallten, damit jedesmal auch eine neue <td>...</td> mit ausgegeben wird und im DataSet der nächste Datensatz hierfür auch ausgewählt wird?

In ASP habe ich das so gemacht:
do while not rs.EOF
<td>response.write(...)</td>
rs.movenext
loop

Mir fehlt hierfür in ASP.NET die Syntax.
Wäre schön, wenn mir das noch jemand verraten kann.

Danke, Rico
 

SixDark

Erfahrenes Mitglied
Hi!

Leider hab ich in ASP.NET noch gar keine Erfahrungen und stütze mich mal auf meinen Verstand und auf Kenntnisse in PHP :) :

Code:
Dim myTable As DataTable
myTable = custDS.Tables("Professoren")

Dim s_Name As String
Dim r As DataRow
For Each r in myTable.Rows
    s_Name = r.Item("Name").ToString
    response.write("<table>")
    response.write("<tr><td>" & s_Name & "</td></tr>")
    response.write("</table>")
Next

Jetzt sollte nach meinen theoretischen Überlegungen für jeden Eintrag eine Zeile und in dieser Zeile eine Zelle angelegt werden... Ich hoffe es zumindest... ;)

MfG
..::Six Dark::..
 

magic_halli

Erfahrenes Mitglied
Danke, ich habs dann doch selber zusammengetüfftelt.

Muß so aussehen:

Code:
For Each r in myTable.Rows
s_Name = r.Item("Name").ToString
s_Vorname = r.Item("Vorname").ToString
<tr>
<td><%response.write(s_Name)%></td>
<td><%response.write(s_Vorname)%></td>
</tr>	  
next

Bye