webForumDet fria alternativet

Recordset och array

.NET

9 svar · 567 visningar · startad av firstchoice

Medlem sedan okt. 2001615 inlägg
Frågan#1

har en tabell som jag vill ta ut info ifrån, men jag har inte hundra koll på vad de olika fälten heter och innehåller, eftersom databasen kommer från en annan applikation.

men kan jag inte loopa ut ett recordset på en specifik rad
och då få ut alla kolumner som nedan...

UserID - Test
PassWord - Tomten
Namn - Jag
Datum - 2007-07-18

Medlem sedan dec. 19996 522 inlägg
#2

Google på DataReader

Medlem sedan jan. 2007152 inlägg
#3

bind dina data till en datagrid så får du fram alla fältnamn automatiskt!

Medlem sedan okt. 2001615 inlägg
#4

butiko: hur gör jag det då? ;)

Medlem sedan juni 20019 024 inlägg
#5

erkas förslag fungerade annars.

Retrieving Data Using the DataReader.

Medlem sedan okt. 2001615 inlägg
#6

funkar inte...

få inte det att funka, vad kan vara fel?

    Dim sTable, SQL As String
    sTable = "[XXX XXX AB$Contact]"
    SQL = "SELECT * FROM " & sTable & " WHERE No_ = 'KT001535'"
    
    Dim sqlComm As New SqlCommand(SQL, serverConn)
    Dim r As SqlDataReader = sqlComm.ExecuteReader(CommandBehavior.CloseConnection)

    If r.HasRows Then
        Do While r.Read()
            Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", r.GetInt32(0), r.GetString(1))
        Loop
    Else
        Console.WriteLine("No rows returned.")
    End If

    r.Close()
Medlem sedan aug. 20003 575 inlägg
#7

firstchoice skrev:

få inte det att funka, vad kan vara fel?

    Dim sTable, SQL As String
    sTable = "[XXX XXX AB$Contact]"
    SQL = "SELECT * FROM " & sTable & " WHERE No_ = 'KT001535'"
    
    Dim sqlComm As New SqlCommand(SQL, serverConn)
    Dim r As SqlDataReader = sqlComm.ExecuteReader(CommandBehavior.CloseConnection)

    If r.HasRows Then
        Do While r.Read()
            Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", r.GetInt32(0), r.GetString(1))
        Loop
    Else
        Console.WriteLine("No rows returned.")
    End If

    r.Close()

Om du hade skickat med felmeddelande så hade det varit enklare att hitta felet.

Medlem sedan dec. 19996 721 inlägg
#8

firstchoice skrev:

få inte det att funka, vad kan vara fel?

Det var inte meningen att du skulle följa MSDN-koden så bokstavligt (Console.WriteLine är inte användbart på webben), utan det vara bara ett exempel på hur man hämtar data i en reader (Recordset finns inte i .NET).

Medlem sedan okt. 2001615 inlägg
#9

men jag ville ju ha hjälp med att enkelt loopa fram alla kolumnerna i tabellen, kolumnnamn + data

hur gör jag det?

Medlem sedan jan. 2007152 inlägg
#10

Ska du bara på snabbast möjliga vis få fram vad som finns i tabellen kan du göra så här (du behöver inte en rad kod). Exemplet är sql-server:


i din aspx-sida:

  <form id="form1" runat="server">
    <asp:GridView ID="GridView1" DataSourceID="SqlDataSource1" runat="server" />
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
      SelectCommand="SELECT * FROM tabell"
      ConnectionString="<%$ ConnectionStrings:Conn %>" />
  </form>

i web.config

 <add name="Conn" connectionString="Server=(local)\SQLExpress;Integrated Security=True;Database=pubs;Persist Security Info=True"
      providerName="System.Data.SqlClient" />
261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)