webForumDet fria alternativet

label databas

3 svar · 372 visningar · startad av MizzK

MizzKMedlem sedan juni 2003410 inlägg
#1

Har en lite av en nybörjarfråga, jag undrar hur man skall skriva koden när man vill läsa från access db och skriva ut olika värden i olika lablar..

tänkte använda mig av datareader

JosefMedlem sedan mars 20023 561 inlägg
#2

Varför inte prova att söka på OleDbDataReader? ;)

MizzKMedlem sedan juni 2003410 inlägg
#3

har gjort det vet hur man gör själva uppkopplingen och allt men inte hur man gör för att kunna göra så att den fattar att "jag vill ha X utskrivet från databasen i labeln"

Detta har jag än så länge

        'Skapar anslutning (anropar från web.config)
        Dim strConn As String = ConfigurationSettings.AppSettings("Connstr").Replace("%MAPPATH%", Server.MapPath(" "))
        Dim myConn As New OleDbConnection(strConn)

        Dim strSQL As String = "SELECT * FROM layoutrad"
        Dim myCommand As New OleDbCommand(strSQL, myConn)
        Dim myDataReader As OleDbDataReader
        Dim infotext As String

        If Not Page.IsPostBack Then
            'Try
            myConn.Open()

            myDataReader = myCommand.ExecuteReader()
 
            'binder datan med repeatern
            myDataReader.Read()
 
            myDataReader.Close()
            myConn.Close()
        End If
PDahlenMedlem sedan apr. 2004778 inlägg
#4

Det man måste veta är vilken text som skall ligga var och vilka textelement som skall ligga på en sida.
Det är grunden i Content Management System och det finns flera olika sätt att göra detta, t.ex. .resx filer, databas, textfiler, m.m.
Här har du ett exempel på en databaslösning:

 Pages
------------
 id
 pagename (eller url)
 description

 PageElements
-------------------
 id
 elementname
 pageid

 PageElementTexts
---------------------------
 id
 elementid
 langid
 elementtext

I tabellen pages ligger information om alla sidorna i sajten t.ex.

 1    default.aspx     "Sajtens startsida"
 2    menu                "Meny"

Som du ser kan du använda både url och ett givet namn som benämning.
I PageElements ligger alla element som skall finnas på en sida.

 1    hdrWelcome      1
 2    InfoText            1
 3     lnkHome           2
 4     lnkLinks            2

Och slutligen så ligger texten som skall visas i PageElementsText. Att jag lägger till en langid kolumn är för att kunna ha en flerspråkigsajt, t.ex. 1=Sverige 2=UK

 1   1   1   "Välkommen!"
 2   1    2   "Welcome!"
 3   2   1    "Det här är min sajt"
 4   2   2    "This is my site"
... osv. ...

Då har du grunden. Du vet vad som skall finnas på en sida och du har ett sätt att bestämma var det ska visas.
Vad du måste ha nu är, för varje sida:
1. Du måste få ut ElementNamn och ElementText från databasen för en vald sida. En SQL-sats
2. Stoppa in dessa i en array. Personligen kör jag med Objekt och Collections.
3. Ha en funktion som söker igenom din array efter ett givet elementnamn. Inbyggt i en Collection.
4. Sätt in den hittade texten i din label.

På startsidan i exemplet skulle man då skicka in "default.aspx" och ett språk id (1) och få tillbaka data som i en array ser ut så här:

 hdrWelcome   "Välkommen!"
 InfoText         "Det här är min sajt"

Om din sökfunktion heter GetText(element) så använder du

 lblWelcome.Text = GetText("hdrWelcome")
 lblInfo.Text = GetText("InfoText")

Som sagt det finns andra lösninger men här har du lite grundläggande exempel som fungerar.
Men lite kod får du sätta ihop själv. ;)
Men om du vill ha mer hjälp med det också så la jag faktiskt upp en ASP version av detta på Planet Source Code för ett par år sedan. Du kan ju kolla där,http://planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=7131&lngWId=4
Men som sagt, idag när jag använder .NET så kör jag med objekt och klasser. Har skrivit lite om det här http://www.pdc.se/blog/DisplayEntry.aspx?eid=1

257 ms totalt · 3 externa anrop · v20260731065814-full.30151723
135 ms — hämta forumlista (db)
119 ms — hämta statistik (db)
136 ms — hämta tråd, inlägg och bilagor (db)