Hallo @Sloopa,
Die Daten werden in der DB als True/False abgespeichert. Wenn ich die DB nebenbei offen habe mit SQLite Expert, dann hat das Feld der Tabelle ein Häkchen, Feldwert also True, und wenn ich parallel dazu die Daten per Reader.GetValue einlese und mir den Variableninhalt anzeigen lasse, dann ist der Wert FALSE. Wenn ich irgendetwas an der Tabellendefinition mache, sogar ohne Änderungen durchzuführen, daß Ganze mit Apply abschliese, lese ich plötzlich tatsächlich auch ein True ein. Aus meiner Sicht hat das erst einmal nichts mit dem Programmcode zu tun.
Nichtsdestotrotz, hier der Programmcode zum Abspeichern der Daten. Der Speichervorgang zum Editieren der Daten ist noch nicht vollständig, aber dort tritt dasselbe Phänomen auf.
'*** Speichern von Mitarbeiterdaten ***
Sub btnMaSave_Click
lvMaPkw = ""
If ckbMaPkw.Checked = True Then lvMaPkw = "True" Else lvMaPkw = "False"
'*** Beginn des Speichervorgangs zunächst für Neueingaben ***
If gvLastButton = "NEW" Then
'*** Suche nach schon vorhandenen DS mit gleichem Inhalt wie die Neueingabe ***
con.BeginTransaction
Reader.New1
cmd.CommandText = "Select Count(MA_ID) from MA Where NAME = '" &tbMaName.Text& "' AND VORNAME = '" &tbMaVName.Text& "' "
Reader.Value = Cmd.ExecuteReader
gvDoublette = Reader.GetValue(0)
Reader.Close
con.EndTransaction
If gvDoublette > 0 Then
Msgbox ("Dieser Mitarbeiter ist schon vorhanden!","Information!",cMsgboxOK,cMsgboxHand)
tbOrtName.Focus
Return '*** Rücksprung zur aufrufenden Sub ***
End If
con.BeginTransaction
cmd.CommandText = "INSERT INTO MA VALUES( '" &tbMaID.Text& "','" &tbMaName.Text& "','" &tbMaVName.Text& "','" "','" "','" &ckbMaPkw.Checked& "','" &ckbMaLkw.Checked& "','" &ckbMaSchl.Checked& "','" &ckbMaEtMo.Checked& "','" &ckbMaEtDi.Checked& "','" &ckbMaEtMi.Checked& "','" &ckbMaEtDo.Checked& "','" &ckbMaEtFr.Checked& "','" &ckbMaEtSa.Checked& "','" &ckbMaEtSo.Checked& "','" "','" &tbMaHandyNr.Text& "','" &tbMaHomeNr.Text& "','" "','" "','" &tbMaEMail.Text& "','" &Date(Now)& "','" "','" "','" "')"
cmd.ExecuteNonQuery
Reader.New1
cmd.CommandText = "Select Count(MA_ID) from MA"
Reader.Value = Cmd.ExecuteReader
gvRecCount = Reader.GetValue(0)
gvRec = gvRecCount
Reader.Close
con.EndTransaction
End If
'*** Beginn des Speichervorgangs für Datenänderungen ***
If gvLastButton = "EDIT" Then
con.BeginTransaction
cmd.CommandText = "UPDATE MA SET NAME = '" &tbMaName.Text& "', VORNAME = '" &tbMaVName.Text& "', PKW = '" &ckbMaPkw.Checked& "', LKW = '" &ckbMaLkw.Checked& "', SCHL = '" &ckbMaSchl& "', ES_MO = '" &ckbMaEtMo.Checked& "', ES_DI = '" &ckbMaEtDi.Checked& "' WHERE MA_ID = '" &tbMaID.Text& "' "
cmd.ExecuteNonQuery
Reader.New1
cmd.CommandText = "Select Count(ORT_ID) from ORT"
Reader.Value = Cmd.ExecuteReader
gvRecCount = Reader.GetValue(0)
Reader.Close
con.EndTransaction
gvRec = gvRecTemp
End If
CloseMAFields
ReadOneMA
MAButtonCheck
End Sub
'------------------------------------------------------------------------------------[/B]
Einen schönen 1. Mai wünscht...
Fontanus
P.S. Ich habe weiterhin nun festgestellt, daß, nachdem ich die Daten per SQLite Expert nur in der Editiermodus gebracht habe und wieder abgeschlossen habe, die Daten richtig eingelesen werden. Grundsätzlich funktioniert es. Die Daten werden wie gewünscht abgespeichert und auch in meinem Progrämmle angezeigt, aber erst, nachdem ich manuell in der DB etwas getan habe.