Toon posts:

[asp-vb.net]variabele vullen met veldwaarde uit dataset

Pagina: 1
Acties:
  • 117 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een dataset dsAanvraag, deze dataset bevat enkele velden waaronder het veld 'id'.

Mijn query vult deze dataset met slechts 1 record. Nu wil ik de id-waarde in de variabele stoppen. Ik heb alleen geen idee hoe dit moet. Heb geprobeerd te zoeken, maar waarop? :?

Dim idAanvraag as string = dsAanvraag("id") zou moeten lukken dacht ik, maar nu geeft ie de volgende foutmelding: Class 'System.Data.DataSet' cannot be indexed because it has no default property

Dit zal wel zijn omdat er verwacht wordt dat er meerdere records in de dataset zitten.

Hoe moet ik dit nu doen dan?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Je moet niet de dataset uitlezen, maar een table uit de dataset.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Zoek eens in de .NET wat informatie op over een DataSet.
Daar zal je kunnen zien dat een DataSet uit Tables bestaat, dat een Table uit rows bestaat etc....

Het zou me ook niet verbazen dat er een volledig uitgewerkt voorbeeld te vinden is...

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ik weet waar een dataset uit bestaat, heb hier een boek liggen van ado.net, maar stomgenoeg wordt dat deel waar ik naar vraag behandelt aan de hand van Visual Studio voorbeelden... staat niets geen codering bij 8)7

Ik wil eigenlijk mijn dataset uitlezen om zodoende gegevens (in dit geval het id) aan een textveld te binden...

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Verwijderd schreef op 14 oktober 2003 @ 13:14:
Ik weet waar een dataset uit bestaat, heb hier een boek liggen van ado.net, maar stomgenoeg wordt dat deel waar ik naar vraag behandelt aan de hand van Visual Studio voorbeelden... staat niets geen codering bij 8)7
Als ik je code voorbeeld bekijk, dan denk ik dat je toch iets mist.
Daarnaast kan je altijd eens in je .NET help kijken.
Ik wil eigenlijk mijn dataset uitlezen om zodoende gegevens (in dit geval het id) aan een textveld te binden...
Kijk eens naar de Tables property, en naar de Rows property.
Je kan zoiets krijgen:
code:
1
DataSet.Tables[x].Rows[x]

https://fgheysels.github.io/


Verwijderd

Topicstarter
ja dat heb ik ook geprobeerd en dat werkte niet... maar ik definieer zelf ook geen datatable... dat zal wel automatisch gebeuren en daarom kan ik dit spul niet binden of zo?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Wat heb je dan wel aan code?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Verwijderd schreef op 14 October 2003 @ 13:20:
ja dat heb ik ook geprobeerd en dat werkte niet... maar ik definieer zelf ook geen datatable...
Hoezo, het werkte niet?
dat zal wel automatisch gebeuren en daarom kan ik dit spul niet binden of zo?
Nee, heeft er niks mee te maken.
Je dataAdapter maakt die Table idd, maar dat is geen probleem.

https://fgheysels.github.io/


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 20-08 22:11

mulder

ik spuug op het trottoir

Wat gorgi en whoami proberen eigenlijk te zeggen is: RTFM. Er zijn zat voorbeelden te vinden op internet. In MSDN staan alleen al genoeg voorbeelden voor het gebruik van een DataSet. Je spreekt deze nu aan op de ASP manier, en volgens mij werk je met ASP.NET.

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
Sorry voor het verneuken van de layout, maar dit is mijn code (page_load) die ik heb... Het gaat er dus om dat 'txtID gevuld wordt met het id uit de dataset. (eigenlijk alle velden in de record uit de dataset)

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    Dim conn as new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings("verbindingsString"))
    Dim dsAanvraag as DataSet = new DataSet()
    Dim dsCategorie as DataSet = new DataSet()
    Dim dsWE as DataSet = new DataSet()

Sub Page_Load(Source As Object, E As EventArgs)
        If not Page.IsPostBack
            Dim cmdAanvraag as new SqldataAdapter("SELECT * FROM aanvraag WHERE id="  & Request.QueryString("id"), conn)
            Dim cmdcat as new SqldataAdapter("SELECT id, categorienaam FROM categorie ORDER BY categorienaam", conn)
            Dim cmdWE as new SqldataAdapter("SELECT id, code FROM we ORDER BY code", conn)
            
            conn.Open()
            cmdAanvraag.Fill(dsAanvraag, "aanvraag") 'aanvraaggegevens weer ophalen uit DB mbv het doorgestuurde id
            cmdcat.Fill(dsCategorie, "categorie")    'beschikbare categorien voor de dropdownlist
            cmdWE.Fill(dsWE, "we")             'beschikbaare we's voor de dropdownlist
            conn.Close()
            
            txtID = dsAanvraag("id") 
            Page.databind()
        End if
        
            Dim i as integer = 0
            For i = statusChange.Items.Count -1 to 0 step -1
                If statusChange.Items(i).Selected
                    rblSelect.text = statusChange.Items(i).text
                End if
            Next
            CatSelect.Text = ddlCategorie.SelectedItem.Text
            WESelect.Text = ddlWE.SelectedItem.Text         
    End sub

[ Voor 21% gewijzigd door Verwijderd op 14-10-2003 13:33 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Je kan het veld 'id' niet direct uitlezen uit de dataset, want die dataset kan meerdere tabellen hebben. Je zult dus moeten specifieren uit welke tabel in die dataset en uit welke row in die datatable hij dat veld ID moet halen.

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

En nu moet je nog iets doen met [rml]whoami in "[ asp-vb.net]variabele vullen met veldwaa"[/rml]

Ow ja, nog iets.. Je moet hier niet komen zeuren over een maand als mensen je 'gehacked' hebben en alle tabellen uit je database hebben verwijderd.

* gorgi_19 mompelt verder nog iets over niet onderhoudbare code en [rml][ ASP.NET] Webdev tips[/rml]

[ Voor 87% gewijzigd door gorgi_19 op 14-10-2003 13:38 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op 14 October 2003 @ 13:34:
Ow ja, nog iets.. Je moet hier niet komen zeuren over een maand als mensen je 'gehacked' hebben en alle tabellen uit je database hebben verwijderd.
Daar hoor ik hier wel vaker iets over ja... bedoel je dat ik beter de zut in een stored procedure kan zetten en de waarden dus niet verwerkt in een query doorstuur?? of bedoel je nog wat anders?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

SQL Injection Attack. Een SP is een mogelijke oplossing er voor. Parametrized queries ook. En escapen van karakters ook.

[ Voor 72% gewijzigd door gorgi_19 op 14-10-2003 13:42 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
ik weet, ik moet daar ff op searchen, maar wat bedoel je met 'Parametrized queries'?

Deze manier van queries uitvoeren ligt me ook niet lekker, maar ik weet nix anders (stored procedures uitgezonderd dan, maar das tzelfde toch?)

[ Voor 50% gewijzigd door Verwijderd op 14-10-2003 13:45 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 14 October 2003 @ 13:44:
ik weet, ik moet daar ff op searchen, maar wat bedoel je met 'Parametrized queries'?
whoami in "ASP.NET: textbox converteren naar DateTi"

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Verwijderd schreef op 14 oktober 2003 @ 13:44:
ik weet, ik moet daar ff op searchen, maar wat bedoel je met 'Parametrized queries'?
Zoek eens op GoT met die keywords. Ik heb hier de laatste dagen (vandaag nog) al heel wat posts over gedaan, en ben te lui om het nog eens uit te typen.

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

whoami schreef op 14 October 2003 @ 13:45:
Zoek eens op GoT met die keywords. Ik heb hier de laatste dagen (vandaag nog) al heel wat posts over gedaan, en ben te lui om het nog eens uit te typen.
* gorgi_19 is lief vandaag
* gorgi_19 heeft al een link gemaakt naar whoami's post.. :P

En nu niet gemeen mijn topic's trashen en zelf het linkje neerzetten.. :+
Deze manier van queries uitvoeren ligt me ook niet lekker, maar ik weet nix anders (stored procedures uitgezonderd dan, maar das tzelfde toch?)
Jouw verantwoordelijkheid. En nee, het is niet hetzelfde. Maar als je naar de syntax kijkt, wat is dan het verschil tussen een PQ en een SP?

[ Voor 33% gewijzigd door gorgi_19 op 14-10-2003 13:48 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Euhm.. nou als ik ga kijken hoe ik in mn aanmeldpagina gebruik maak van de storedprocedure, zie ik geen verschil met de PQ.. dus zal ik het op net zo'n manier moeten doen als in mn aanmeldpagina?

Visual Basic .NET:
1
2
3
4
5
6
7
Dim conn as New SqlConnection(System.Configuration.ConfigurationSettings.AppSettings("verbindingsString"))  
        Dim cmd as New SqlCommand("userVal", conn)
        cmd.CommandType = CommandType.StoredProcedure

        Dim parameterUserID As SqlParameter = New SqlParameter("@UserID", SqlDbType.NVarChar, 50)
        parameterUserID.value = tbUsername.text
        cmd.Parameters.Add(parameterUserID)


En om even terug te komen op die datatable die ik uit wil lezen. Moet ik deze dan ook definieren? Of is een dataset alleen genoeg (def. datatable automatisch)

[ Voor 16% gewijzigd door Verwijderd op 14-10-2003 14:03 ]

Pagina: 1