Archief - Problemen met datum veld wegschrijven bij lege waardes

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

wils

Legacy Member
ik zit met het volgende probleem, ik moet een pagina voor mijn eindwerk maken waar ik leden in een database kan wijzigen. daar moet ik datums bijvoorbeeld aanpassen en wegschrijven in de database. nu het volgende probleem, als een van die datum veldjes leeg is moet die ook weggeschreven worden en daar knelt de schoen. dit doet hij namelijk niet en vliegt het programma eruit en geeft de volgende foutmelding:
Code:
Serverfout in toepassing /gip.
The parameterized query '(@Aanspreking nvarchar(3),@Aanmaningsdatum1 datetime,@Aanmanings' expects the parameter '@Aanmaningsdatum2', which was not supplied.
Beschrijving: Er is een onverwerkte uitzondering opgetreden tijdens het uitvoeren van de huidige webaanvraag. Raadpleeg de stacktracering voor meer informatie over deze fout en de oorsprong ervan in de code.

Details van uitzondering: System.Data.SqlClient.SqlException: The parameterized query '(@Aanspreking nvarchar(3),@Aanmaningsdatum1 datetime,@Aanmanings' expects the parameter '@Aanmaningsdatum2', which was not supplied.

Fout in bron:

Regel 162:            cnnVlew.Open()
Regel 163:
Regel 164:            cmdWijzigen.ExecuteNonQuery()
Regel 165:
Regel 166:            cnnVlew.Close()


hier is de code die te maken heeft met de datum veldjes, het wordt ingegeven via een calender ;)

Code:
If txtAanmaningsdatum1.Text = String.Empty Then
                IsDBNull(cmdWijzigen.Parameters.Add(parAanmaningsdatum).Value)
            Else
                dteAanm1 = CDate(txtAanmaningsdatum1.Text)
                cmdWijzigen.Parameters.Add(parAanmaningsdatum).Value = CDate(dteAanm1)
            End If

            If txtAanmaningsdatum2.Text = String.Empty Then
                IsDBNull(cmdWijzigen.Parameters.Add(parAanmaningsdatum2).Value)
            Else
                dteAanm2 = CDate(txtAanmaningsdatum2.Text)
                cmdWijzigen.Parameters.Add(parAanmaningsdatum2).Value = CDate(dteAanm2)
            End If

            If txtDatumBetaald.Text = String.Empty Then
                IsDBNull(cmdWijzigen.Parameters.Add(parDatumbetaald).Value)
            Else
                dteBetaaldDatum = CDate(txtDatumBetaald.Text)
                cmdWijzigen.Parameters.Add(parDatumbetaald).Value = CDate(dteBetaaldDatum)
            End If

en hier is de update query ;)

Code:
 cmdWijzigen.CommandText = "UPDATE tblLid SET Betaaldatum = @Betaaldatum, Aanmaningsdatum = @Aanmaningsdatum1, Aanmaningsdatum2 = @Aanmaningsdatum2, Voornaam = @Voornaam, Gemeente=@Gemeente  WHERE Idlid= @ID"

Cerv.Be

Legacy Member
Wat doet ge met uw IsDBNull functies? oO

Het enigste wat dat doet is uw parameter checken op een DBNull value en zodoende true/false returnen.

woony

Legacy Member
moet het ingevuld zijn dat veld? anders moet je daar maar gewoon op validaten, en anders, null ofte 1900-01-01 insteken?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan