Springen naar inhoud


- - - - -
Solved

Gridview editing



  • Log in a.u.b. om te beantwoorden
Er zijn 8 reacties in dit onderwerp

#1 x7-virus

x7-virus

    Starting Developer

  • Leden
  • 24 berichten
    Laatst bezocht 05 aug 2012 14:07

Geplaatst op 06 mei 2011 - 15:07

Hallo,

Ik heb een pagina met een gridview waar alle leden in staan. Vervolgens heb ik gewoon door 'Enable editing' ervoor gezorgd dat ik gegevens van mijn leden kan aanpassen.

Maar elke keer als ik op wijzig klik krijg ik de melding 'Waarden voor één of meer vereiste parameters ontbreken'. Wat moet ik doen om ervoor te zorgen dat ik deze fout wegkrijg?

mvg
x7-virus

#2 SilentBob

SilentBob

    Professional Developer

  • Leden
  • PipPipPipPip
  • 360 berichten
    Laatst bezocht
  • LocatieHome

Geplaatst op 06 mei 2011 - 15:24

Een of meerdere parameters in je Update statement worden niet ingevuld.
Als 'k me niet vergis kun je op je DataSource zien welke statements er gegenereerd zijn en kun je zien welke parameters er gebruikt zijn.
Meer uitleg op msdn

#3 x7-virus

x7-virus

    Starting Developer

  • Leden
  • 24 berichten
    Laatst bezocht 05 aug 2012 14:07

Geplaatst op 06 mei 2011 - 15:31

SilentBob zei:

Een of meerdere parameters in je Update statement worden niet ingevuld.
Als 'k me niet vergis kun je op je DataSource zien welke statements er gegenereerd zijn en kun je zien welke parameters er gebruikt zijn.
Meer uitleg op msdn
Het probleem is dat alle gegevens ingevuld zijn als ik de tabel wijzig  :)

#4 SilentBob

SilentBob

    Professional Developer

  • Leden
  • PipPipPipPip
  • 360 berichten
    Laatst bezocht
  • LocatieHome

Geplaatst op 06 mei 2011 - 15:43

In de smart tag van je GridView heb je de optie 'Configure Data Source...'.
Controleer hier eens wat je Update statement is (en post het). Misschien wordt er een veld niet getoond.

-edit-
controleer of het aantal vereiste parameters overeenkomt met je kolommen. Dit kan dezelfde foutmelding veroorzaken.

#5 x7-virus

x7-virus

    Starting Developer

  • Leden
  • 24 berichten
    Laatst bezocht 05 aug 2012 14:07

Geplaatst op 09 mei 2011 - 09:10

SilentBob zei:

In de smart tag van je GridView heb je de optie 'Configure Data Source...'.
Controleer hier eens wat je Update statement is (en post het). Misschien wordt er een veld niet getoond.

-edit-
controleer of het aantal vereiste parameters overeenkomt met je kolommen. Dit kan dezelfde foutmelding veroorzaken.

Code:
UpdateCommand="UPDATE [tblLeden] SET [Adres] = ?, [Postcode] = ?, [Gemeente] = ?, [GSMnr] = ?, [Emailadres] = ?, [Admin] = ?, [Wachtwoord] = ?, [TrainerID] = ? WHERE (([Appeledo] = ?) OR ([Appeledo] IS NULL AND ? IS NULL))">

Is dit de statement die je bedoelt?

Ter info, het veld TrainerID is niet bij elke gebruiker ingevuld omdat niet elk lid Trainer kan zijn. Ligt hier heb probleem misschien?

#6 SilentBob

SilentBob

    Professional Developer

  • Leden
  • PipPipPipPip
  • 360 berichten
    Laatst bezocht
  • LocatieHome

Geplaatst op 09 mei 2011 - 10:47

Ik denk dat het in het Where-statement zit

Citeren

WHERE (([Appeledo] = ?) OR ([Appeledo] IS NULL AND ? IS NULL))
Er staat eigenlijk
Appeledo is iets OF Appeledo is leeg EN iets is leeg. Maar je weet niet wat voor iets leeg is .

Bij een Update command moet je er op letten dat je record dat je wilt bijwerken uniek kan opgevraagt worden (tenzij je echt een hele reeks tegelijk wilt updaten).
Meestal gebeurt dit door een id, een primary key veld met een autoincrement ingesteld.
Het zal meer iets moeten worden van

Citeren

UpdateCommand="UPDATE [tblLeden] SET [Adres] = ?, [Postcode] = ?, [Gemeente] = ?, [GSMnr] = ?, [Emailadres] = ?, [Admin] = ?, [Wachtwoord] = ?, [TrainerID] = ? WHERE [tblLeden.ID] = ?
Waarbij tblLeden.ID een primary key met autoincrement veld is, bij jou kan dit anders noemen

#7 x7-virus

x7-virus

    Starting Developer

  • Leden
  • 24 berichten
    Laatst bezocht 05 aug 2012 14:07

Geplaatst op 09 mei 2011 - 11:23

SilentBob zei:

Ik denk dat het in het Where-statement zit

Citeren

WHERE (([Appeledo] = ?) OR ([Appeledo] IS NULL AND ? IS NULL))
Er staat eigenlijk
Appeledo is iets OF Appeledo is leeg EN iets is leeg. Maar je weet niet wat voor iets leeg is .

Bij een Update command moet je er op letten dat je record dat je wilt bijwerken uniek kan opgevraagt worden (tenzij je echt een hele reeks tegelijk wilt updaten).
Meestal gebeurt dit door een id, een primary key veld met een autoincrement ingesteld.
Het zal meer iets moeten worden van

Citeren

UpdateCommand="UPDATE [tblLeden] SET [Adres] = ?, [Postcode] = ?, [Gemeente] = ?, [GSMnr] = ?, [Emailadres] = ?, [Admin] = ?, [Wachtwoord] = ?, [TrainerID] = ? WHERE [tblLeden.ID] = ?
Waarbij tblLeden.ID een primary key met autoincrement veld is, bij jou kan dit anders noemen
Appeledo is ingesteld als primair veld omdat elk appeledo maar 1 keer kan voorkomen binnen de club

#8 SilentBob

SilentBob

    Professional Developer

  • Leden
  • PipPipPipPip
  • 360 berichten
    Laatst bezocht
  • LocatieHome

Geplaatst op 09 mei 2011 - 15:14

Dan is het

Citeren

WHERE [Appeledo] = ?
Alles erachter mag weg.

Als deze statements autogenerated zijn, zou ik toch m'n tabellen eens nazien of alle primary key, relations, constraints en wat nog meer, allemaal goed staan.

#9 x7-virus

x7-virus

    Starting Developer

  • Leden
  • 24 berichten
    Laatst bezocht 05 aug 2012 14:07

Geplaatst op 11 mei 2011 - 14:32

SilentBob zei:

Dan is het

Citeren

WHERE [Appeledo] = ?
Alles erachter mag weg.

Als deze statements autogenerated zijn, zou ik toch m'n tabellen eens nazien of alle primary key, relations, constraints en wat nog meer, allemaal goed staan.

Dat was het, HARTELIJK BEDANKT :oops:





Ook met taq Solved voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[Solved] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)