Avatar billede crunch Nybegynder
27. februar 2003 - 21:16 Der er 8 kommentarer og
1 løsning

Hvordan udskriver jeg recordsæt smartest ?

Tja. jeg er ret ny i .NET, men det jeg gerne vil er at connecte og udskrive data fra min access. Det går fint med at etabelere forbindelse med nedenstående. Men hvis f.eks. jeg vil udskrive mit databasefelt strTitle midt i min html, hvordan trækker man det så ud i .NET.
Ligeledes vil gode råd om connectiontyper og gode metoder også være velkommen (-:


<script language="VB" runat="Server">
Sub Page_Load(Src As Object, E As EventArgs)
If Not Page.IsPostBack
       
        Dim strConn As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="& Server.Mappath("../db/db.mdb") &";"
        Dim objConn as New OLEDBConnection(strConn)
        Dim strSQL As String = "SELECT id, strTitle FROM tblDirectory WHERE intParentId =1;"
        Dim objCmd As New OLEDBCommand(strSQL, objConn)
        objConn.Open()   
        objConn.Close()
End If
End Sub
</script>


<html>
<body>
</body>
</html>
Avatar billede burningice Nybegynder
27. februar 2003 - 21:57 #1
hvis du skal hente en enkelt værdi ud, så er ExecuteScalar det hurtigste, da den metode er lavet til netop det.
hvis du derimod skal hente en hel række eller måske mange rækker ud vil jeg helt klart anbefale en adapter og med den fylde enten en DataTable eller et DataSet. På den måde får du en identisk kopi af dine data fra databasen med kulonner og rækker... en form for offline kopi af databasen :)

det du skal gøre hvis du vil have skrevet en værdi ud et bestemt sted på siden er, at du sørger for at placere en servercontrol der. Det kan være en <asp:label> eller bare en <div runat="server">

i din page_load kan du så skrive følgende

(hvis det er en <asp:label>) id.Text = "whatever";
(hvis det er en div) id.InnerHtml = "hejhej";
Avatar billede crunch Nybegynder
27. februar 2003 - 22:44 #2
det er vist den syntaktiske forståelse jeg har lidt problemer med, gider du at prøve at skrive det ind i min kode ?
Avatar billede burningice Nybegynder
28. februar 2003 - 01:56 #3
hehe.. syntaksen er nu den nemmeste del... den kan man altid læse sig til, f.eks. her http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/gnconaspnetsyntax.asp
det er tit forståelsen hvorfor man skriver tingene som man gør der glipper...

ang. din kode, så vil det blive noget i retningen af

      Dim objConn as OleDbConnection = New OleDbConnection(strConn)
      Dim strSQL As String = "SELECT id, strTitle FROM tblDirectory WHERE intParentId =1;"
      Dim OleDbDataAdapter objAdapter As OleDbAdapter = New OleDbAdapter()
      objAdapter.SelectCommand = New OleDbCommand(strSQL, objConn)
      DataTable dt = New DataTable()
      objAdapter.Fill(dt)
     
      Response.Write dt.Rows[0]["id"].ToString() &" "& dt.Rows[0]["strTitle"].ToString()
Avatar billede z42cool Nybegynder
28. februar 2003 - 08:46 #4
Hvis du udelukkende har det formål at liste dine data, altså udskrive dem, og du ikke skal ændre dem via dit site, så er Adapter/DataSet strategien overkill og noget langsommere end blot at bruge Command/Reader:

Dim con As OleDbConnection = new OleDbConnection(ConnectionString)
Dim cmd As OleDbCommand = new OleDbCommand("SELECT id, strTitle FROM tlbDirectory WHERE intParentId=1", con)
con.Open()
Dim reader As OleDbReader = cmd.ExecuteReader()
Do While reader.Read()
  Response.Write reader.GetInt32(0) & " " & reader.GetString(1) & "<br />"
Loop
con.Close()
Avatar billede crunch Nybegynder
01. marts 2003 - 11:47 #5
tak for jeres hjælp (-: og ok. Jeg skal nok lige læse mere, men som sagt, er lige startet, og jeg skal lige have "noget til at køre" før jeg nok forstår det helt. Lidt forskrækket over de mange forskelle fra klassisk asp..
Kan I ikke oprette et "svar" - så giver jeg points.
Avatar billede burningice Nybegynder
02. marts 2003 - 19:08 #6
jeg må nu også indrømme at jeg synes det er noget underligt noget at de absolut skal kalde det for asp.net... som en mand en gang sagde; "den største fare ved .Net er at folk ikke forstår hvad det er".
Avatar billede crunch Nybegynder
02. marts 2003 - 23:20 #7
Tak for hjælpen, men kan nogle af jer se hvorfor jeg får fejlen:

Compiler Error Message: BC30002: Type 'OleDbReader' is not defined
linien: Dim reader As OleDbReader = cmd.ExecuteReader()

med:

<%@    Page Language="vb"%>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDB" %>

<script language="VB" runat="Server">

Sub Page_Load(Src As Object, E As EventArgs)
        Dim strConn As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="& Server.Mappath("../db/db.mdb")&";"
        Dim con As OleDbConnection = new OleDbConnection(strConn)
        Dim cmd As OleDbCommand = new OleDbCommand("SELECT id, strTitle FROM tblDirectory WHERE intParentId=1", con)
        con.Open()
        Dim reader As OleDbReader = cmd.ExecuteReader()
        con.Close()
       
End Sub


</script>
Avatar billede crunch Nybegynder
02. marts 2003 - 23:23 #8
fik det til at virke. (-:
Avatar billede Lars Søndergaard Nybegynder
10. april 2003 - 10:43 #9
din smiley vender forkert
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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