Avatar billede benneharli Juniormester
14. juli 2014 - 15:43 Der er 7 kommentarer og
1 løsning

SQL data til tabel

Hejsa

Jeg har lavet en del i VB.NET og egentlig også i HTML og PHP, men for første gang skal jeg lave noget i ASP.NET.

Er ikke helt med på hvilken konfiguration der ligger i hvilken fil, og om jeg overhovedet har startet mit project rigtigt - Men kan jo både lave et "WebSite" eller en "WebApplication". Jeg har valgt WebSite, og ved ikke om det er "godt nok" for nu at sige det sådan.

Long story short - jeg skal fra siden lave et query mod en SQL database (at skrive queries til SQL generelt har jeg styr på) men mangler simpelthen et helt enkelt eksempel på hvordan man får en side til at modtage data fra et SQL query, og derefter lave en "for each row". Har søgt på Google, men alt hvad jeg finder går på en eller anden måde ud fra at man ved hvor hvad skal sættes ind.

Håber spørgsmålet er nogenlunde tydeligt, eller sig til :-)
Avatar billede arne_v Ekspert
14. juli 2014 - 15:55 #1
Laver du ASP.NET web forms eller ASP.NET MVC?
Avatar billede benneharli Juniormester
14. juli 2014 - 16:06 #2
Hm... Allerede der smutter det :-) Anvender Visual Studio 2010 og har oprettet et nyt projekt af typen "Web Site". Er det svar?
Avatar billede arne_v Ekspert
14. juli 2014 - 16:20 #3
Jeg gaetter paa at det er ASP.NET web forms.

Med ASP.NET web forms og din baggrund tror jeg at ADO.NET og en repeater vil virke naturlig for dig.
Avatar billede arne_v Ekspert
14. juli 2014 - 16:22 #4
Simpelt eksempel:

<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.SqlClient" %>
<html>
<head>
<title>Simple SqlCommand and SqlDataReader</title>
<script language="VB" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
    Dim con As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Test").ConnectionString)
    con.Open()
    Dim cmd As SqlCommand = New SqlCommand("SELECT f1,f2 FROM t1", con)
    Dim rdr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
    MyRep.DataSource = rdr
    MyRep.DataBind()
End Sub
</script>
</head>
<body>
<form runat=server>
    <table border='1'>
        <tr bgcolor='#FF0000'>
            <th>F1</th>
            <th>F2</th>
        </tr>
        <asp:Repeater id="MyRep" runat="server">
            <ItemTemplate>
                <tr bgcolor='#AAAAAA'>
                <td><%# DataBinder.Eval(Container.DataItem,"F1") %></td>
                <td><%# DataBinder.Eval(Container.DataItem,"F2") %></td>
                </tr>
            </ItemTemplate>
            <AlternatingItemTemplate>
                <tr bgcolor='#FFFFFF'>
                <td><%# DataBinder.Eval(Container.DataItem,"F1") %></td>
                <td><%# DataBinder.Eval(Container.DataItem,"F2") %></td>
                </tr>
            </AlternatingItemTemplate>
        </asp:Repeater>
    </table>
</form>
</body>
</html>
Avatar billede arne_v Ekspert
14. juli 2014 - 16:23 #5
Eksemplet er gammelt.

DataBinder.Eval(Container.DataItem,"F1")

kan skrives som:

Eval("F1")

idag.
Avatar billede benneharli Juniormester
15. juli 2014 - 00:01 #6
Det fik mig igang :-) Kan se der er 117 måder at skrive det samme på, men det her er da en af dem :-)

Det snød mig lidt i starten at man ikke kan kombinere (umiddelbart) repeater med <asp.Table> men kun <table>... Men det gør det jo også bare simplere at anvende de vanlige HTML tags :-)

Smid et svar!
Avatar billede benneharli Juniormester
29. juli 2014 - 08:32 #7
Smid et svar
Avatar billede arne_v Ekspert
29. juli 2014 - 14:39 #8
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester