Avatar billede Slettet bruger
15. april 2004 - 00:29 Der er 8 kommentarer og
1 løsning

Skriv dataset ud i tekstboxe

Hej
Jeg roder med at skrive et dataset ud i en række tekstbokse således:
Datasettet vælges.
De enkelte poster skrives ud, således at "navn" står i textboxen med overskriften navn, osv.
Er der nogen der kan forklare hvordan det gøres nemmest. Jeg bruger VB og en accessdb, men det er nu ikke noget problem at hente datasettet. Problemet er at skrive de enkelte poster til f.eks. en variabel og så få den skrevet ud i textboxen.

Håber det er til at forstå?
Avatar billede master_fatman Nybegynder
15. april 2004 - 08:24 #1
Det er overkill og bruge et dataset til det anthonsen

Det du kan prøve er og lave en custom.class. I den class modullere du, din db tabel.

Du kan så her efter, ved at løbe dine data igennem med en datareader, binde dataene til dine custom.class properties.

I din codebehind fil, kan du herfter ved at lave et nyt objekt ud af din custom.class binde dataene til f.eks. en label, textbox etc.

Håber det har inspireret dig lidt.

Mvh

MF ;)
Avatar billede Slettet bruger
15. april 2004 - 09:48 #2
Jeg kigger lige lidt nærmere på det :-) Tak.
Avatar billede Slettet bruger
15. april 2004 - 16:06 #3
OK - det fatter jeg vist ikke (ny i faget :-)
Er det muligt at gå lidt mere i detaljer uden at du skriver en bog?
Avatar billede master_fatman Nybegynder
15. april 2004 - 17:25 #4
Ja da!

Læg mærke til, hvordan jeg binder dataene til "Public textA as String" i MinTextBox ud fra en given id.

Pseudo code:

---------------------------------------

'Custom class...
Public Class ClassA

  Public textA as String

End Class

-------------------------------------------

'Dataaccess class....
Public Class ClassB

  Public Function GetTextById(ByVal id as integer) As ClassA
      Dim connection ovs...
      Dim command ovs...
      Dim reader ovs...
      Try
          connection = New SqlCon.... 
          command = New SqlCom...
          With command
            .CommandText = Din sql
            .CommandType = ...
            .CommandTimeOut = 30
            .Connection = connection
            reader = .ExecuteReader()
          End With

          Dim details as ClassA
          Try
            details = New ClassA
            If reader.HashRows
                While reader.Read()
                  With details
                      .textA = reader.GetStringg(0).ToString()
                  End if
                End While

                Return reader
            End If
          Finally
            If Not reader.IsClosed Then
                reader.Close()
            End If
            connection.Close
          End Try     
      Catch ex as Exception
        Throw ex
      End Try     
  End Function

End Class

---------------------------

'Codebehind fil...

Private Sub LoadDetails(id as integer)
  Dim obj as ClassB
  Dim details as ClassA
  Try
      obj = New ClassA
      details = obj.GetTextById(id)
      MinTextBox.Text = details.textA.ToString()
  Catch ex as exception
      Throw ex
  End Try
End Sub

-----------------------------------

Lad mig høre om du kan få det til virker!

;-)
Avatar billede Slettet bruger
16. april 2004 - 18:25 #5
Takker - jeg håber jeg får tid til at kigge på det i løbet af weekenden og så vender jeg lige tilbage. Hvis jeg ikke når det i weekenden, går der over en uge, da jeg er væk hele næste uge.
Avatar billede Slettet bruger
17. april 2004 - 20:56 #6
Hej igen
Jeg forstår ikke hvad der sker i codebehindfilen og hvordan der er "forbindelse" mellem codebehindfilen og den andne fil? Det ville være fedt hvis du gad forklare det?
Avatar billede Slettet bruger
25. april 2004 - 19:49 #7
Hej Igen

Jeg får følgende fejl:

Could not load type 'LoadDetails'

Og jeg bruger følgende kode:

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Page Inherits="LoadDetails" scr="CBafvigelsesrapport_vis.vb" %>
                               
<Script Runat="Server">

Public Class ClassVisData
    Public sNavn As String
End Class

Public Class ClassDbconnention
   
    Public Function GetTextById( ByValId As Integer ) As ClassVisData
   
    Dim DbConn As OleDbConnection
    Dim SqlCmd As OleDbCommand
    Dim DataReader As OleDbDataReader
   
    Try
        DbConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=c:\inetpub\wwwroot\database\afvigelsesrappporter.mdb")
        DbConn.Open()
        SqlCmd = New OleDbCommand( "Select * FROM afvigelser", DbConn )
        DataReader = OleDbCommand.ExecuteReader()
   
   
    Dim Details As ClassVisData
    Try
        Details = New ClassVisData
        If DataRead.Hasrows
            While DataRead.Read()
                With Detalils
                    .sNavn = DataReader.GetString(0).ToString()
                End If
            End While
           
            Return DataRead
        End If
   
    Finally
        If Not DataRead.IsClosed Then
            DataRead.close()
        End If
        DbConn.Close()
    End Try     
    Catch ex as Exception
        Throw ex
    End Try     
  End Function

End Class   

</Script>

...og


Private Sub LoadDetails(id as integer)
  Dim obj as ClassDbConnection
  Dim details as ClassVisData
  Try
      obj = New ClassVisData
      details = obj.GetTextById(id)
      MinTextBox.Text = details.sNavn.ToString()
  Catch ex as exception
      Throw ex
  End Try
End Sub

Er der en der kan se hvad jeg gør galt?
Avatar billede Slettet bruger
26. april 2004 - 21:25 #8
Hej

Jeg prøver at hente data fra en access db og vise dem i forskellige tekstbokse, jeg har overhoved ikke styr på hvad jeg laver, og jeg får følgende fejl:

Could not load type 'LoadDetails'

Og jeg bruger følgende kode:

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Page Inherits="LoadDetails" scr="CBafvigelsesrapport_vis.vb" %>
                               
<Script Runat="Server">

Public Class ClassVisData
    Public sNavn As String
End Class

Public Class ClassDbconnention
   
    Public Function GetTextById( ByValId As Integer ) As ClassVisData
   
    Dim DbConn As OleDbConnection
    Dim SqlCmd As OleDbCommand
    Dim DataReader As OleDbDataReader
   
    Try
        DbConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=c:\inetpub\wwwroot\database\afvigelsesrappporter.mdb")
        DbConn.Open()
        SqlCmd = New OleDbCommand( "Select * FROM afvigelser", DbConn )
        DataReader = OleDbCommand.ExecuteReader()
   
   
    Dim Details As ClassVisData
    Try
        Details = New ClassVisData
        If DataRead.Hasrows
            While DataRead.Read()
                With Detalils
                    .sNavn = DataReader.GetString(0).ToString()
                End If
            End While
           
            Return DataRead
        End If
   
    Finally
        If Not DataRead.IsClosed Then
            DataRead.close()
        End If
        DbConn.Close()
    End Try     
    Catch ex as Exception
        Throw ex
    End Try     
  End Function

End Class   

</Script>

...og


Private Sub LoadDetails(id as integer)
  Dim obj as ClassDbConnection
  Dim details as ClassVisData
  Try
      obj = New ClassVisData
      details = obj.GetTextById(id)
      MinTextBox.Text = details.sNavn.ToString()
  Catch ex as exception
      Throw ex
  End Try
End Sub

Er der en der kan se hvad jeg gør galt?
Avatar billede Slettet bruger
27. april 2004 - 15:16 #9
Lukker
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