Avatar billede jesperbaldur Nybegynder
02. juli 2004 - 13:46 Der er 5 kommentarer og
1 løsning

Vise data fra access database i en datagrid

Jeg udvælger noget data i en access database. Disse data vil jeg gerne have vist i en datagrid. Men hvordan gør man det ?
Jeg læser fra databasen på flg måde:
Dim connStr As String = "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=" & Server.MapPath("") & "\db\db.mdb"
      Dim myReader As OleDbDataReader
        Dim myConnection As New OleDbConnection(connStr)
        Dim myCommand As New OleDbCommand(mySQLquery, myConnection)
        myConnection.Open()
        myReader = myCommand.ExecuteReader()
        Try
            While myReader.Read()
            End While
        Finally

        End Try
hvordan kan man så få vist det data som mySQLquery sætningen udtrækker ?
Avatar billede dna Nybegynder
02. juli 2004 - 13:51 #1
Hvis det bare er en simpel visning, så kan du jo gøre noget der ligner:

While myReader.Read()
  Response.write myReader.item("felt-navn")
End While

Ellers kan du som du henviser til i din overskrift bruge et dataGrid. Her skal du oprette et dataGrid, og så pege på din dataReader som datasource for det. Det ville være noget der ligner:

myDataGrid.datasource = myReader
myDataGrid.databind()

Du kan finde meget mere om datagrid på nettet og på eksperten.dk - bare brug søgefunktionen!

dna
Avatar billede jesperbaldur Nybegynder
02. juli 2004 - 14:39 #2
ja, jeg har næsten fundet ud af det nu.
Men er det muligt at lave et ekstra felt i datagridden ?
Jeg har to felter i databasen: Indsat og forbrug. Udfra disse to felter er det så muligt at finde saldoen på kontoen, nemlig "indsat - forbrug". Men er det muligt at indsætte et ekstra felt der hedder saldo om som har værdien "indsat - forbrug" ?
Og en sidste ting. Hvis nu saldo = indsat - forbrug giver et negativt tal, kan man så lave tekstfarven om til rød ?
Avatar billede dna Nybegynder
02. juli 2004 - 14:53 #3
I et datagrid arbejder man med 2 forskellige slags kolonner. BoundColumn og TemplateColumn. Bound er dem hvor du har en dataSource til, og en Template laver du selv indholdet.

Du leder efter noget i denne stil:

<asp:TemplateColumn HeaderText="Saldo" ItemStyle-Width="100px">
  <ItemTemplate>
    <%# Container.DataItem("indsat") - Container.DataItem("forbrug") %>">
  </ItemTemplate>
</asp:TemplateColumn>

dna
Avatar billede jesperbaldur Nybegynder
02. juli 2004 - 15:44 #4
ja, det virker fint men jeg kom lige i tanke om at man kunne lave det i SQL-sætningen: (indsat - forbrug) as Saldo
men du ved vel ikke om det er muligt at lave tekstfarven eller baggrundsfarven rød hvis saldo er en negativ værdi ?
Avatar billede dna Nybegynder
02. juli 2004 - 17:04 #5
Du kan vel bare lave en simpel:

if Container.DataItem("Saldo") < 0 then
  Response.write "<font color=""red"">" & Container.DataItem("Saldo") & "</font">
else
  Response.write Container.DataItem("Saldo")
end if

dna
Avatar billede jesperbaldur Nybegynder
03. juli 2004 - 22:37 #6
takker
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
Kurser inden for grundlæggende programmering

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