12

Wirtschaftsinformatik (Fach) / Visual Basic (VB) FS3b (Lektion)

...

Diese Lektion wurde von Lexx erstellt.

Lektion lernen

Anzeige
  • CDB: KlasseEinlesen: Die wichtigsten Punkte für die Datenbank cmd.Connection = con con.Open() cmd.CommandText = "SELECT * FROM tblKlassen" reader = cmd.ExecuteReader Beim Einlesen von Daten reicht SELECT * FROM aus.
  • CDB: KlasseEinlesen: Die wichtigsten Punkte nach der Datenbank Do While reader.Read Dim tmpKlasse As New CKlasse tmpKlasse.idKNr = reader("idKNr") tmpKlasse.KName = reader("KName") tmpKlasse.KLehrer = reader("KLehrer") dic.Add(tmpKlasse.idKNr, tmpKlasse) Loop reader.Close() Return dic
  • CDB: SchuelerEinlesen: Die wichtigsten Punkte für die DatenBank Zum einen das in der Klammer ganz oben schon etwas rein muss: Public Shared Function SchuelerEinlesen(KNr As Integer) As Dictionary(Of Integer, CSchueler) Zugriff: cmd.Connection = con con.Open() cmd.CommandText = "SELECT * FROM tblSchueler WHERE KNr =" & KNr reader = cmd.ExecuteReader Schleife bleibt gleich außer tmpKlasse zu tmpSchueler ändern
  • CDB: SchuelerAnlegen: Die wichtigsten Punkte für dei Datenbank Zum einen erstmal oben abändern in Boolean wegen Wahr oder Falsch abfrage Public Shared Function SchuelerAnlegen(S As CSchueler) As Boolean Danach für die Datenbank: cmd.Connection = con con.Open() cmd.CommandText = String.Format("INSERT INTO tblSchueler(idSNr, SVN, SNN, KNr) VALUES ({0}, '{1}','{2}', {3})", S.idSNr, S.SVN, S.SNN, S.KNr) Ganz Wichtig da es kein Dic mehr gibt Return cmd.ExecuteNonQuery Wichtig hier keine Schleife mehr!! Am Ende Return False statt Return Nothing
  • CDB: SchuelerAendern: Die wichtigsten Punkte Genau das selbe in der ersten Zeile wie bei Anlegen (S As CSchueler) As Boolean Für die Datenbank cmd.Connection = con con.Open() cmd.CommandText = cmd.CommandText = String.Format("UPDATE tblschueler SET SNN = '{0}', SVN = '{1}', KNR = {2} WHERE idSNr = {3}", S.SNN, S.SVN, S.KNr, S.idSNr) Return cmd.ExecuteNonQuery()
  • CDB: SchuelerLoeschen Genau das selbe in der ersten Zeile wie Anlegen und Aendern Für die Datenbank cmd.Connection = con con.Open() cmd.CommandText = String.Format("DELETE FROM tblSchueler WHERE idSNr = {0}", S.idSNr) Return cmd.ExecuteNonQuery
  • Form: Klassen in die Form einlesen Private Sub frmSchülerverwaltung_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'Klassen einlesen pKlassen = CDB.KlassenEinlesen() 'Klassen aus pKlassen in die ComboBox 'Schleife For Each K As CKlasse In pKlassen.Values cboKlasse.Items.Add(K) '2.te ComboBox füllen cboSKl.Items.Add(K) Next
  • Form: Refresh der Listbox Private Sub RefreshListbox() 'zugehörige Schüler einlesen '1.) KlassenNummer wird benötigt!!! 'da in der ComboBox Objekte des Types CKLasse stehen, enthalten diese auch die Klassennummer Dim KlassenNr As Integer Dim aktKlasse As CKlasse aktKlasse = cboKlasse.SelectedItem KlassenNr = aktKlasse.idKNr 'Klassenlehrer lblKlehrer.Text = aktKlasse.KLehrer '2. zu dieser KlassenNr Daten aus der DB holen pSchueler = CDB.SchuelerEinlesen(KlassenNr) '3. in der Listbox anzeigen 'ListBox löschen lstSchüler.Items.Clear() 'Schleife For Each S As CSchueler In pSchueler.Values lstSchüler.Items.Add(S) Next
  • Form:Doppelklick auf die Listbox Private Sub lstSchüler_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lstSchüler.SelectedIndexChanged Dim aktSchueler As CSchueler aktSchueler = lstSchüler.SelectedItem 'Textboxen füllen txtSNN.Text = aktSchueler.SNN txtSVN.Text = aktSchueler.SVN txtSNr.Text = aktSchueler.idSNr 'ComboBox cboSKl.Text = cboKlasse.Text
  • Form: Einfügen Button Private Sub btnEinfügen_Click(sender As Object, e As EventArgs) Handles btnEinfügen.Click Dim neuerSchueler As New CSchueler neuerSchueler.idSNr = txtSNr.Text neuerSchueler.SNN = txtSNN.Text neuerSchueler.SVN = txtSVN.Text 'KlassenNummer aus ComboBox Dim aktKlasse As CKlasse aktKlasse = cboSKl.SelectedItem neuerSchueler.KNr = aktKlasse.idKNr 'in der DB anlegen If CDB.SchuelerEinfuegen(neuerSchueler) Then MsgBox("Neuer Schüler wurde angelegt") 'refesh der ListBox RefreshListbox() End If
  • Anzeige
  • Form: ÄndernButton Private Sub btnÄndern_Click(sender As Object, e As EventArgs) Handles btnÄndern.Click 'KOPIE von btnEinfügen_Click nur mit Anpassung einiger Werte: "neuerSchüler" in "aktSchüler" 'und "CDB.SchuelerAendern" sowie den Text für MsgBox "Daten des Schüler wurden geändert." Dim aktSchueler As New CSchueler aktSchueler.idSNr = txtSNr.Text aktSchueler.SNN = txtSNN.Text aktSchueler.SVN = txtSVN.Text 'KlassenNummer aus ComboBox Dim aktKlasse As CKlasse aktKlasse = cboSKl.SelectedItem aktSchueler.KNr = aktKlasse.idKNr 'in der DB anlegen If CDB.SchuelerAendern(aktSchueler) Then MsgBox("Daten des Schülers wurden geändert.") 'refesh der ListBox RefreshListbox() End If
  • Form: LöschenButton Private Sub btnSLöschen_Click(sender As Object, e As EventArgs) Handles btnSLöschen.Click Dim aktSchueler As New CSchueler aktSchueler.idSNr = txtSNr.Text 'in der DB anlegen If CDB.SchuelerLoeschen(aktSchueler) Then MsgBox("Der Schüler wurden gelöscht.") 'refesh der ListBox RefreshListbox() End If End Sub