Schoolwork, where is my mistake

EDN Admin

Well-known member
Joined
Aug 7, 2010
Messages
12,794
Location
In the Machine
Public

Class frmDeelnemers



Private Sub btnVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerwijderen.Click



declareer een nieuwe datasaet



Dim ds As New DataSet



Declareer een OLEDB data adapter



Dim da As New OleDbDataAdapter



Dim conn As New OleDbConnection



Haal de connection string op vanuit de klantentableAdapter

conn.ConnectionString = KlantenTableAdapter.Connection.ConnectionString



als de verbinding gesloten is



If conn.State = ConnectionState.Closed Then



open de verbinding naar de databank

conn.Open()



End If



Haal de index van de geselecterde rij op



Dim i As Integer

i = KlantenDataGridView.CurrentRow.Index

da.DeleteCommand =


New OleDbCommand("Delete from Klanten where Nr = " & KlantenDataGridView.Item(0, i).Value)



Stel de connectie van de deleteCommand gelijk aan de conn variabele

da.DeleteCommand.Connection = conn



Voer de query uit

da.DeleteCommand.ExecuteNonQuery()



Sluid de connectie

conn.Close()



Vul de klanten tabel adapter opnieuw met de nieuwe gegevens op

KlantenTableAdapter.Fill(OutdoorAdventureDataSet.Klanten)



Ververs de gegevens in de tabel

KlantenDataGridView.Refresh()

This first


Dim

frm As New frmLevProdDetails

frm.editmode =

True

frm.ShowDialog(

Me)

Imports

System.Data.OleDb

Public

Class frmKlantToevoegen


Public evenementNr As Integer


Private Sub KlantenBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Me.Validate()


Me.KlantenBindingSource.EndEdit()


Me.TableAdapterManager.UpdateAll(Me.OutdoorAdventureDataSet)


End Sub


Private Sub frmKlantToevoegen_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


TODO: This line of code loads data into the OutdoorAdventureDataSet.KlantEvenement table. You can move, or remove it, as needed.


Me.KlantEvenementTableAdapter.Fill(Me.OutdoorAdventureDataSet.KlantEvenement)


TODO: This line of code loads data into the OutdoorAdventureDataSet.Klanten table. You can move, or remove it, as needed.


Me.KlantenTableAdapter.Fill(Me.OutdoorAdventureDataSet.Klanten)


End Sub



Private Sub btnToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToevoegen.Click


Dim KlantNr As Integer


Dim teller As Integer

teller = KlantenDataGridView.CurrentRow.Index


Haalt d eklantNr uit de geselecteerde rij van de datagrid

KlantNr = KlantenDataGridView.Item(0, teller).Value


Declareer de variabelen die we gaan gebruiken voor het ophalen van de klantEvenementgegevens


Dim ds As New DataSet


Dim dt As DataTable


Dim da As OleDbDataAdapter


Dim sql As String


Dim KlantAlToegevoegd As Boolean


initialiseer de check en zet de waarde op onwaar

KlantAlToegevoegd =

False


Maak de sql statement aan

sql =

"Select KlantNr, EvenementNr from KlantEvenement Where KlantNr = " & KlantNr & " and EvenementNr = " & evenementNr


Maak de verbinding me de database en geef de sql opdracht mee

da =

New OleDbDataAdapter(sql, KlantenTableAdapter.Connection.ConnectionString)


Vul de dataset met de gegevens uit de databank die overeenkomen met de sql opdracht

da.Fill(ds,

"KlantEvenement")


De datatabel gelijkstellen aan de tabel klantEvenement uit de dataset

dt = ds.Tables(0)


Als de datatable records bevat, dan is de klant voor dat evenement al ingeschreven


If dt.Rows.Count > 0 Then


Zet de check hier op true

KlantAlToegevoegd =

True


End If




Als de klant nog niet is toegevoegd, voeg de klant dan toe aan de tabel


If KlantAlToegevoegd = False Then


Voeg de klant toe voor die evenement in de tabel KlantEvenement


Me.KlantEvenementTableAdapter.Insert(KlantNr, evenementNr)


Haal de gegevens opnieuw op en vul de datagrid

frmDeelnemers.QueryKlantEvenementDataGridView.Refresh()


Sluit de form

Dispose()


Else


Toon een boodschap aan de gebruiker.

MsgBox(

"Klant is al toegevoegd. Kies een andere klant.", MsgBoxStyle.Exclamation, "Klant al toegevoegd")


End If


End Sub


Private Sub btnAnnuleren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnnuleren.Click

Dispose()


End Sub

End

Class

Public

Class frmEvenementen


Private Sub frmEvenementen_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated


Me.EvenementenTableAdapter.Fill(Me.OutdoorAdventureDataSet.Evenementen)


End Sub



Private Sub frmEvenementen_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


TODO: This line of code loads data into the OutdoorAdventureDataSet.Evenementen table. You can move, or remove it, as needed.


Me.EvenementenTableAdapter.Fill(Me.OutdoorAdventureDataSet.Evenementen)


End Sub


Private Sub btnDeelnemers_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeelnemers.Click


Dim frm As New frmDeelnemers


Dim teller As Integer

teller = EvenementenDataGridView.CurrentRow.Index

frm.evenementNr = EvenementenDataGridView.Item(0, teller).Value

frm.ShowDialog(

Me)


End Sub


Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click


Dim frm As New frmEvenementdetails

frm.editmode =

False

frm.ShowDialog(

Me)


End Sub


Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click


Dim frm As New frmEvenementdetails

frm.editmode =

True

frm.ShowDialog(

Me)


End Sub


Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click


Dim antwoord As DialogResult


ervoor zetten omdat dit anders voor problemen met het eerste nummer in de gegevens


Dim teller As Integer


het nummer zoeken van de geselcteerde rij

teller = EvenementenDataGridView.CurrentRow.Index

antwoord = MsgBox(

"zBent u zeker dat u wilt verwijdern?", MsgBoxStyle.YesNo, "Waarschuwing")


If antwoord = DialogResult.Yes Then



zoeken naar gerelateerde records waardoor je niet mag verwijderen


Declareer de variabelen die we gaan gebruiken voor het ophalen van de klantEvenementgegevens


Dim ds As New DataSet


Dim dt As DataTable


Dim da As OleDb.OleDbDataAdapter


Dim sql As String


Dim komtklantnaarev As Boolean


initialiseer de check en zet de waarde op onwaar

komtklantnaarev =

False


Maak de sql statement aan

sql =

"Select * From KlantEvenement Where EvenementNr = " & EvenementenDataGridView.Item(0, teller).Value


Maak de verbinding me de database en geef de sql opdracht mee

da =

New OleDb.OleDbDataAdapter(sql, EvenementenTableAdapter.Connection.ConnectionString)


Vul de dataset met de gegevens uit de databank die overeenkomen met de sql opdracht

da.Fill(ds,

"KlantEvenement")


De datatabel gelijkstellen aan de tabel klantEvenement uit de dataset

dt = ds.Tables(0)


Als de datatable records bevat, dan is de klant voor dat evenement al ingeschreven


If dt.Rows.Count > 0 Then


Zet de check hier op true

komtklantnaarev =

True


End If


If komtklantnaarev = False Then


Verwijder de geselecteerde record

EvenementenTableAdapter.Delete(EvenementenDataGridView.Item(0, teller).Value, EvenementenDataGridView.Item(1, teller).Value, EvenementenDataGridView.Item(2, teller).Value, EvenementenDataGridView.Item(3, teller).Value, EvenementenDataGridView.Item(4, teller).Value, EvenementenDataGridView.Item(5, teller).Value)


gegevense verversen in de tabel

EvenementenTableAdapter.Fill(OutdoorAdventureDataSet.Evenementen)

EvenementenDataGridView.Refresh()


Else

MsgBox(

"Je mag dit niet verwijderen omdat er nog gerelateerde gegevens gelinkt zijn aan deze gegevens die u wilt verwijderen", MsgBoxStyle.Information, "Info")


End If


End If


End Sub

End

Class

Voer de bewerkingen uit enkel en alleen wanneer de velden zijn gevalideerd


If valideerVelden() Then


Als ik een nieuwe record toevoeg


If editMode = False Then


Voeg een nieuwe record toe aan de tabel klanten via de adapter van het overzichtsformulier

frmOverzict.KlantenTableAdapter.Insert(txtAchternaam.Text, txtVoornaam.Text, txtStraat.Text, txtPostcode.Text, txtGemeente.Text, cboLand.Text, txtTelefoon.Text, dtpKlantSinds.Value, txtEmail.Text)


Vul de klantenadapter opnieuw met de gegevens op

frmOverzict.KlantenTableAdapter.Fill(frmOverzict.OutdoorAdventureDataSet.Klanten)


Ververs de datagrid

frmOverzict.KlantenDataGridView.Refresh()


Sluit de huidige formulier

Dispose()


Else



Dim ds As New DataSet()


declare a data cursor to point to the row in the data base


Dim dbCursor As Integer = 0


declare a new Ole Data Base Data Adapter


Dim da As New OleDbDataAdapter()


delcare a new OLE Data Base Connection


Dim conn As New OleDbConnection()


Haal de connection string op vanuit de KlantenTableAdapter

conn.ConnectionString = frmOverzict.KlantenTableAdapter.Connection.ConnectionString



If (conn.State = ConnectionState.Closed) Then


Open de connectie

conn.Open()


End If


Dim sql As String

sql =

"Update Klanten Set " & _


"Achternaam = " & txtAchternaam.Text & " , " & _


"Voornaam = " & txtVoornaam.Text & " , " & _


"Straat = " & txtStraat.Text & " , " & _


"Postcode = " & txtPostcode.Text & " , " & _


"Land = " & cboLand.Text & " , " & _


"Gemeente = " & txtGemeente.Text & " , " & _


"Telefoonnummer = " & txtTelefoon.Text & " ," & _


"Email = " & legeDBWaarde(txtEmail.Text) & " ," & _


"klantSinds = " & dtpKlantSinds.Value & " " & _


" Where Nr = " & txtNr.Text


Update command aan de hand van het nummer van de klant

da.UpdateCommand =

New OleDbCommand(sql)


Stel de connectie van de updateCommand gelijk aan de connectier

da.UpdateCommand.Connection = conn


Voer de query uit

da.UpdateCommand.ExecuteNonQuery()

conn.Close()



Vul de klantenadapter opnieuw met de gegevens op

frmOverzict.KlantenTableAdapter.Fill(frmOverzict.OutdoorAdventureDataSet.Klanten)

frmOverzict.KlantenDataGridView.Refresh()


test.laadDeelnemers()


Sluit de huidige formulier

Dispose()


End If


End If


End Sub


Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click


Me.Dispose()


End Sub


Private Sub txtPostcode_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPostcode.KeyPress


If Not IsNumeric(e.KeyChar) And Asc(e.KeyChar) <> 8 And Asc(e.KeyChar) <> 45 Then

e.Handled =

True


End If


End Sub


Private Sub frmDetails_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


Wanner de formulier in wijzigmodus is


If editMode = True Then


Teller bepaalt welke regel geselecteerd is


Dim teller As Integer


Haal de nummer van de geselecteerde lijn op

teller = frmOverzict.KlantenDataGridView.CurrentRow.Index


Vul de velden op

txtNr.Text = frmOverzict.KlantenDataGridView.Item(0, teller).Value

txtAchternaam.Text = frmOverzict.KlantenDataGridView.Item(1, teller).Value

txtVoornaam.Text = frmOverzict.KlantenDataGridView.Item(2, teller).Value

txtStraat.Text = frmOverzict.KlantenDataGridView.Item(3, teller).Value

txtPostcode.Text = frmOverzict.KlantenDataGridView.Item(4, teller).Value

txtGemeente.Text = frmOverzict.KlantenDataGridView.Item(5, teller).Value

cboLand.SelectedItem = frmOverzict.KlantenDataGridView.Item(6, teller).Value

txtTelefoon.Text = frmOverzict.KlantenDataGridView.Item(7, teller).Value


txtEmail.Text = frmOverzict.KlantenDataGridView.Item(8, teller).Value

txtEmail.Text = legeDBWaarde(frmOverzict.KlantenDataGridView.Item(8, teller).Value)

dtpKlantSinds.Value = frmOverzict.KlantenDataGridView.Item(9, teller).Value


End If


End Sub


Private Sub frmDeelnemers_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated

laadDeelnemers()


End Sub


Private Sub frmDeelnemers_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


TODO: This line of code loads data into the OutdoorAdventureDataSet.QueryKlantEvenement table. You can move, or remove it, as needed.


Me.QueryKlantEvenementTableAdapter.Fill(Me.OutdoorAdventureDataSet.QueryKlantEvenement)

laadDeelnemers()


End Sub


Private Sub btnToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToevoegen.Click


Dim frm As New frmKlantToevoegen

frm.evenementNr = evenementNr

frm.ShowDialog(

Me)


End Sub


Private Sub laadDeelnemers()


Dim ds As New DataSet


Dim da As OleDb.OleDbDataAdapter


Dim sql As String

sql =

"Select EvenementNr, Achternaam, Voornaam, Straat, Postcode, Gemeente, Land, Telefoonnummer, Email, KlantNr from QueryKlantEvenement Where EvenementNr = " & evenementNr

da =

New OleDb.OleDbDataAdapter(sql, frmEvenementen.EvenementenTableAdapter.Connection.ConnectionString)

da.Fill(ds,

"QueryKlantEvenement")

QueryKlantEvenementDataGridView.DataSource = ds.Tables(0)

QueryKlantEvenementDataGridView.Refresh()


End Sub


Private Sub btnVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerwijderen.Click


Maak de variabelen aan voor de verbinding met de database


Dim ds As New DataSet


Dim da As New OleDb.OleDbDataAdapter


Dim conn As New OleDb.OleDbConnection


Haal de connectionstring op en ken die toe aan het conn object

conn.ConnectionString =

Me.QueryKlantEvenementTableAdapter.Connection.ConnectionString


Als de verbinding gesloten is


If conn.State = ConnectionState.Closed Then


Open de verbinding

conn.Open()


End If


Dim i As Integer


Haal het nummer van de gesleecteerde record op

i =

Me.QueryKlantEvenementDataGridView.CurrentRow.Index


Dim klantNr As Integer

klantNr = QueryKlantEvenementDataGridView.Item(9, i).Value


Dim sql As String

sql =

"Delete from KlantEvenement where EvenementNr = " & evenementNr & " And KlantNr = " & klantNr


Maak de delete commando aan

da.DeleteCommand =

New OleDb.OleDbCommand(sql)


Voeg daar de connectie aan mee

da.DeleteCommand.Connection = conn


Voer de deletequery uit

da.DeleteCommand.ExecuteNonQuery()


We sluiten de connectie naar de database

conn.Close()


Laad alle deelnemers van het evenement opnieuw op

laadDeelnemers()


End Sub

End

Class

View the full article
 
Back
Top