Daten ändern in SqLite mag nicht so richtig..

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Mono.

    Daten ändern in SqLite mag nicht so richtig..

    Hallo Ihr,
    könnt Ihr mir mal bei einem Prob helfen?

    VB.NET-Quellcode

    1. Private Sub Button_user_neu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_user_neu.Click
    2. Dim neu As String
    3. Dim anzahl As Integer
    4. neu = InputBox("Bitte Geben sie den Name des neuen Benutzers ein", "Neuanlage User")
    5. If neu <> "" Then
    6. cmd.CommandText = "insert into tbl_userdata (benutzer, [password]) values('" & neu & "', '" & StringToMD5(standard_pw) & "')"
    7. Try
    8. con.Open()
    9. anzahl = cmd.ExecuteNonQuery()
    10. MessageBox.Show(anzahl & " neuer Benutzer angelegt >>> Standardpasswort ist >>> dippach$2012 <<<", "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Information)
    11. con.Close()
    12. Catch ex As Exception
    13. MessageBox.Show(ex.Message)
    14. Finally
    15. con.Close()
    16. End Try
    17. ComboBox2.Items.Clear()
    18. ComboBox2.Items.Add(neu)
    19. ComboBox2.SelectedIndex = 0
    20. cmd.CommandText = "insert into edit_log_user (Benutzer, Datum, benutzername, status) values('" & User & "', '" & Now & "', '" & PC_Eingabe.User & "', 'erstellt')"
    21. End If
    22. End Sub


    wenn nen user gespeichert wird

    VB.NET-Quellcode

    1. Private Sub Button_user_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_user_save.Click
    2. Dim anzahl As Integer
    3. cmd.CommandText = "update tbl_userdata set benutzer='" & PC_Eingabe.User & "', is_operator=" & CheckBox_oppreator.Checked & ", is_admin=" & CheckBox_admin.Checked & " WHERE ID = " & id_akt2
    4. 'Try
    5. con.Open()
    6. anzahl = cmd.ExecuteNonQuery()[b] <- HIER BRINGT ER DEN FEHLER TRY CATCH AUS[/b]
    7. MessageBox.Show("Datensätze geändert: " & anzahl)
    8. con.Close()
    9. 'Catch ex As Exception
    10. 'MessageBox.Show(ex.Message)
    11. 'Finally
    12. con.Close()
    13. 'End Try
    14. cmd.CommandText = "insert into tbl_userdata (Benutzer, Datum, benutzername, status, [password], is_operator, is_admin, is_god) values('" & User & "', '" & Now & "', '" & PC_Eingabe.User & "', 'geändert', '" & TextBox_user_pw.Text & "', " & CheckBox_oppreator.Checked & ", " & CheckBox_admin.Checked & ")"
    15. comand_cmd2 = CStr(ComboBox2.SelectedItem)
    16. cmd.CommandText = "select * from tbl_userdata Where benutzer = '" & comand_cmd2 & "'"
    17. Call boxes_fill2()
    18. End Sub


    Hier kommt dann
    Ein Ausnahmefehler des Typs "System.Data.SQLite.SQLiteException" ist in System.Data.SQLite.dll aufgetreten. Zusätzliche Informationen: SQL logic error or missing database no such column: True

    kann mir jemand sagen wo da der Wurm steckt? *grübel* oder hat das was damit zu tun das ich von ACCESS auf SQLite gegangen bin
    hm das sind 2 radiobuttons .. das müsste INTEGER also die Spalten in der DB sein d.h. eig. 1/0 oder *nachdenk*
    Also löschen, anlegen, geht .. nur sobald ich die Berechtigung einmal vergeben will oder ändern möchte gehts net

    und wie gesagt vorher ist das Tool auf ACCESS gelaufen jetzt ist es SQLite .. vllt hab ich auch irgendwo nen Gedankenfehler..
    weil ich habs in der alten ACCESS DB Probiert da gehts

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „tuvok“ ()

    SQLite hat kein Bit oder Bool Type (zumindes soweit ich weiß). Es ist Integer und daher 0 und 1 zu verwenden.
    Und ich würde dir empfehlen zumindest DBParameter zu verwenden.

    LG
    Das ist meine Signatur und sie wird wunderbar sein!