Vast met eindwerk (Insert query met parameters)

Status
Niet open voor verdere reacties.

MartijnWils

Gebruiker
Lid geworden
26 okt 2009
Berichten
21
Hallo allemaal, voor mijn eindwerk moet ik een website maken.

nu ik zit een beetje vast :s

wat meer uitleg: ik heb een website waar een admin leden kan aanmaken. ik heb een pagina gemaakt met ongeveer 20+- textboxen op. ik heb dan geprogrammeerd dat er een insert query gebeurt als je op de knop aanmaken klikt en al die gegevens weggeschreven worden in de database, nu mijn programma geeft hele tijd een fout aan en ik zit er al lang op te zoeken en kom er echt niet uit. nu hoop ik dat jullie mij verder kunnen helpen :thumb:

Code:
Partial Class LedenAanmaken
    Inherits System.Web.UI.Page
    Dim cnnVlew As New System.Data.SqlClient.SqlConnection
    Dim blnFout As Boolean = False

    Protected Sub txtAanmaken_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtAanmaken.Click


        Dim cmdWijzigen As New System.Data.SqlClient.SqlCommand
        Dim dteVandaag As Date

        dteVandaag = Date.Now


        Dim parNaam As New System.Data.SqlClient.SqlParameter("@Naam", Data.SqlDbType.NVarChar.ToString)
        Dim parVoornaam As New System.Data.SqlClient.SqlParameter("@Voornaam", Data.SqlDbType.NVarChar.ToString)
        Dim parAanmaningsdatum As New System.Data.SqlClient.SqlParameter("@Aanmaningsdatum1", Data.SqlDbType.Date.ToString)
        Dim parAanmaningsdatum2 As New System.Data.SqlClient.SqlParameter("@Aanmaningsdatum2", Data.SqlDbType.Date.ToString)
        Dim parAdres As New System.Data.SqlClient.SqlParameter("@Adres", Data.SqlDbType.NVarChar.ToString)
        Dim parDatumbetaald As New System.Data.SqlClient.SqlParameter("@Betaaldatum", Data.SqlDbType.Date.ToString)
        Dim parDrukDatum As New System.Data.SqlClient.SqlParameter("@Drukdatum", Data.SqlDbType.Date.ToString)
        Dim parDubbeledatum As New System.Data.SqlClient.SqlParameter("@Dubbeledatum", Data.SqlDbType.Date.ToString)
        Dim parEmail As New System.Data.SqlClient.SqlParameter("@Email", Data.SqlDbType.NVarChar.ToString)
        Dim parGemeente As New System.Data.SqlClient.SqlParameter("@Gemeente", Data.SqlDbType.NVarChar.ToString)
        Dim parLogin As New System.Data.SqlClient.SqlParameter("@Login", Data.SqlDbType.NVarChar.ToString)
        Dim parOpmerking As New System.Data.SqlClient.SqlParameter("@Opmerking", Data.SqlDbType.NVarChar.ToString)
        Dim parPasswoord As New System.Data.SqlClient.SqlParameter("@Passwoord", Data.SqlDbType.NVarChar.ToString)
        Dim parPostcode As New System.Data.SqlClient.SqlParameter("@Postcode", Data.SqlDbType.NVarChar.ToString)
        Dim parSchool As New System.Data.SqlClient.SqlParameter("@IDSchool", Data.SqlDbType.Int.ToString)



        If blnFout = False Then

            cnnVlew.ConnectionString = ConfigurationManager.ConnectionStrings("strCnnVlew").ToString


            cmdWijzigen.Parameters.Add(parNaam)
            cmdWijzigen.Parameters.Add(parVoornaam)
            cmdWijzigen.Parameters.Add(parAanmaningsdatum)
            cmdWijzigen.Parameters.Add(parAanmaningsdatum2)
            cmdWijzigen.Parameters.Add(parAdres)
            cmdWijzigen.Parameters.Add(parDatumbetaald)
            cmdWijzigen.Parameters.Add(parDrukDatum)
            cmdWijzigen.Parameters.Add(parDubbeledatum)
            cmdWijzigen.Parameters.Add(parEmail)
            cmdWijzigen.Parameters.Add(parGemeente)
            cmdWijzigen.Parameters.Add(parLogin)
            cmdWijzigen.Parameters.Add(parOpmerking)
            cmdWijzigen.Parameters.Add(parPasswoord)
            cmdWijzigen.Parameters.Add(parPostcode)
            cmdWijzigen.Parameters.Add(parSchool)



            cmdWijzigen.Connection = cnnVlew
            cmdWijzigen.CommandText = "INSERT INTO tblLid(IDLid, DatumCreatie, Aanspreking, Voornaam, Naam, Straat, Postcode, Gemeente, Email, AantalEx, Betaald, Betaaldatum, Betaaldatum2, Drukdatum, Aanmaningsdatum, Aanmaningsdatum2, GebruikersnaamSmart, PaswoordSmart, Opmerking) VALUES(, , " & ddlAanspreking.SelectedItem.ToString & ", '@Voornaam', @Naam, @Adres, @Postcode, @Gemeente, @Email, , , @DatumBetaald, @Dubbeledatum, @Drukdatum, @Aanmaningsdatum, @Aanmaningsdatum2, @Login, @Passwoord, @Opmerking)"


            parNaam.Value = txtNaam.Text
            parVoornaam.Value = txtVoornaam.Text
            parAanmaningsdatum.Value = txtAanmaningsdatum1.Text
            parAanmaningsdatum2.Value = txtAanmaningsdatum2.Text
            parAdres.Value = txtAdres.Text
            parDatumbetaald.Value = txtDatumBetaald.Text
            parDrukDatum.Value = txtDrukdatum.Text
            parDubbeledatum.Value = txtDubbelDatumBetaald.Text
            parEmail.Value = txtEmail0.Text
            parGemeente.Value = txtGemeente.Text
            parLogin.Value = txtLogin.Text
            parOpmerking.Value = txtOpmerking.Text
            parPasswoord.Value = txtPasswoord.Text
            parPostcode.Value = txtPostcode.Text
            parSchool.Value = txtSchool.Text

            cnnVlew.Open()

            cmdWijzigen.ExecuteScalar

            cnnVlew.Close()


            Response.Redirect("LedenAanmaken.aspx")

        End If

    End Sub

End Class

FOUT:

ip5gxs.jpg
 
Laatst bewerkt:
Wel een heel weinig zeggende fout zo natuurlijk, maar het zit wel hier fout.
Code:
cmdWijzigen.CommandText = "INSERT INTO tblLid(IDLid, DatumCreatie, Aanspreking, Voornaam, Naam, Straat, Postcode, Gemeente, Email, AantalEx, Betaald, Betaaldatum, Betaaldatum2, Drukdatum, Aanmaningsdatum, Aanmaningsdatum2, GebruikersnaamSmart, PaswoordSmart, Opmerking) VALUES(, , " & ddlAanspreking.SelectedItem.ToString & ", '@Voornaam', @Naam, @Adres, @Postcode, @Gemeente, @Email, , , @DatumBetaald, @Dubbeledatum, @Drukdatum, @Aanmaningsdatum, @Aanmaningsdatum2, @Login, @Passwoord, @Opmerking)"
Ik ga ervan uit dat je IDLid een autonummer veld is? Je probeert daar dan wel een nothing aan toe te kennen. Als het idd een autonummer veld is zou je die sowieso helemaal uit je query moeten halen, daarnaast nothing values proberen mee te geven in je commandtext lijkt me niet echt handig. Dus: verwijderen van IDLid, en op die lege waarden in je Values component daadwerkelijk wat zetten, of ze gewoon uit de veldenlijst halen.
 
Code:
 cmdWijzigen.parameters.addwithvalue("@parameter","value")
Is veel makkelijker:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan