Vraagje voor een beetje code

Status
Niet open voor verdere reacties.

computerrookie

Nieuwe gebruiker
Lid geworden
30 mrt 2010
Berichten
4
Hoi allemaal,

Ik heb een database gemaakt en een bijhorend formulier in visual studio 2008.
Nu kan ik de gegevens invoeren in men formulier maar ik zou ze ook graag in mijn database laten komen en daar zit ik vast. Hier is een knop voor nodig maar ik kan niet direct de juist code ontdekken.
Naamloos.jpg

Hierbij toegevoegd vind je een printscreen van het formulier. met de respectievelijke tabellen.

De opdracht omschrijving is als volgende:

Startende uitgeverij “De leestrein” wil alle recenties over de boeken die ze uitgeven, verzamelen in een database. Zo houdt de database de titel, schrijver, datum van uitgave, ISBN-nummer, … en een uitgebreide beschrijving van het boek bij.
Per boek kunnen er uiteraard meedere recenties gepubliceerd worden. Per recentie wordt bijgehouden door wie en wanneer ze gepubliceerd werd. Omdat de recenties snel en makkelijk moeten verspreid worden onder de klanten van de uitgeverij, kun je ze best in de vorm van een tekstbestand bewaren.
Maak een gebruiksvriendelijke applicatie in Visual Basic.NET die aan bovenstaande beschrijving voldoet.

Wie kan mij helpen?

Het gaat dus enkel over een knop om de gegevens van het formulier in de accessdatabase te krijgen.

alvast bedankt!
 
Ik weet helaas niks over access databases, ik heb zelf alleen toegang tot de SQL server Compact Edition. Maar ik vermoed dat de benodigde code niet zo ver uit elkaar zal liggen.
De code die ik zelf gebruik in een projectje van mezelf is:

Code:
        Dim sql, sql2 As String


        MainForm.KlantH.Naam = tb_Name.Text
        MainForm.KlantH.Adres = tb_Address.Text
        MainForm.KlantH.Postcode = tb_Zipcode.Text
        MainForm.KlantH.Plaats = tb_City.Text

        MainForm.NewID = MainForm.lvw_contacts.Items.Count + 1

        sql2 = "SELECT Name FROM Contacts WHERE Name = '" & MainForm.KlantH.Naam & "'"
        Dim Check As New SqlCeCommand
        Dim str As String = ""
        Check.Connection = MainForm.CN
        Check.CommandText = sql2
        MainForm.CN.Open()
        Dim Checker As SqlCeDataReader
        Checker = Check.ExecuteReader
        While Checker.Read
            str = Convert.ToString(Checker.Item("Name"))
        End While
        MainForm.CN.Close()

        If str = "" Then
            sql = "INSERT INTO contacts(ID, Name, Adress, Zipcode, City) VALUES(" & MainForm.NewID & ", '" & MainForm.KlantH.Naam & "', '" & MainForm.KlantH.Adres & "', '" & MainForm.KlantH.Postcode & "', '" _
                    & MainForm.KlantH.Plaats & "')"
            Dim CMD As New SqlCeCommand
            CMD.Connection = MainForm.CN
            CMD.CommandText = sql
            MainForm.CN.Open()
            Try
                CMD.ExecuteNonQuery()

                tb_Name.Text = ""
                tb_Address.Text = ""
                tb_Zipcode.Text = ""
                tb_City.Text = ""

            Catch ex As Exception
                MsgBox("Failed to insert contact due to the following error!" & _
                       vbCrLf & ex.Message)
            End Try
            MainForm.CN.Close()
            MsgBox("New Contact has been added")
        Else
            If MessageBox.Show("Contact already exists. Do you want to update?", "Prutsen", MessageBoxButtons.OKCancel, _
             Nothing, MessageBoxDefaultButton.Button1) = DialogResult.OK Then
                Dim sql3 As String = ""
                Dim Update As New SqlCeCommand
                sql3 = "UPDATE Contacts SET adress = '" & MainForm.KlantH.Adres & "', Zipcode = '" & MainForm.KlantH.Postcode & _
                        "', City = '" & MainForm.KlantH.Plaats & "' WHERE Name = '" & MainForm.KlantH.Naam & "'"

                Update.Connection = MainForm.CN
                Update.CommandText = sql3
                MainForm.CN.Open()
                Try
                    Update.ExecuteNonQuery()
                    tb_Name.Text = ""
                    tb_Address.Text = ""
                    tb_Zipcode.Text = ""
                    tb_City.Text = ""
                Catch ex As Exception
                    MsgBox("Failed to update contact due to the following error!" & _
                       vbCrLf & ex.Message)
                End Try

                MainForm.CN.Close()
            End If
        End If

Dit zou je in de goede richting moeten duwen lijkt me. Uit deze code moet je je eigen code distilleren..

succes
 
De code die ik zelf gebruik in een projectje van mezelf is..

Ik hoop niet dat dat er iets van beveiliging noodzakelijk is voor dat projectje, vraagt namelijk om sql injection... (Zie ook iets staan over 'PRUTSEN' dus ik neem aan dat het een hobby projectje is, maar denk zal het toch maar even zeggen....)
 
Laatst bewerkt:
ja, puur voor mezelf wat probeerseltjes. Mijn eerste stapjes met een database.. Maar bedankt voor je bezorgdheid.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan