Online Datenbank - Einträge bearbeiten

  • VB.NET

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von M-Arens.

    Online Datenbank - Einträge bearbeiten

    Hallo.
    Ich habe eine Online Datenbank von Ixclusiv.
    Die ist extern zugreifbar.
    Auslesen und Reinschreiben funktioniert auch wunderbar, nur bearbeiten klappt nicht so ganz.
    Das ist mein "Datenbank code":

    VB.NET-Quellcode

    1. If Not txtPasswort.Text = "" Or txtEmail.Text = "" Then
    2. Dim conn As MySqlConnection
    3. conn = New MySqlConnection
    4. conn.ConnectionString = "server=XX.XXX.XX.XX;" _
    5. & "user id=XXXX;" _
    6. & "password=XXXX;" _
    7. & "database=XXXX"
    8. Try
    9. conn.Open() ' Verbindung öffnen
    10. Catch myerror As MySqlException
    11. MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString) ' Falls Fehler : Fehler anzeigen
    12. End Try
    13. Dim myAdapter As New MySqlDataAdapter
    14. Dim SQLAbfrage As String = "SELECT * FROM benutzer"
    15. Dim myCommand As New MySqlCommand
    16. myCommand.Connection = conn
    17. myCommand.CommandText = "INSERT INTO benutzer(Passwort, Email)" _
    18. & "VALUES('" & txtPasswort.Text & "','" & txtEmail.Text & "')"
    19. myAdapter.SelectCommand = myCommand
    20. Dim myData As MySqlDataReader
    21. myData = myCommand.ExecuteReader()
    22. Else
    23. MsgBox("Das Passwort oder/und die Email Adresse darf nicht leer sein!", MsgBoxStyle.Critical, "Fehler")
    24. End If


    Mit diesem code soll ein beareits exestierendes Feld bearbeitet werden.
    Nur das klappt nicht.
    Wenn ich diesen Code benutze wird ein neues feld erstellt mit den Eigenschaften:
    Benutzername: NULL
    Passwort: [Das ausgewählte Passwort]
    Email: [Die ausgewählte Email Adresse]

    Also:
    Anstatt das alte Feld zu bearbeiten, wird ein neues hinzugefügt.
    WIe kann ich das verhindern?
    Ich möchte das das alte bearbeitet wird.

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Hmm ich hab das so von Google:

    VB.NET-Quellcode

    1. myCommand.CommandText = "UPDATE benutzer SET Passwort = " & txtPasswort.Text & ", Email = " & txtEmail.Text & ""

    Klappt aber nicht.
    Da kommt ein Fehler.

    Edit: Fehler:
    Fatal error encountered during command execution.

    xXMichaelXx schrieb:

    Mal ne Frage: Muss ich den WHERE Befehl auch benutzen?
    Bei der SQL Abfrage brauch ich ihn auch net:

    VB.NET-Quellcode

    1. Dim SQLAbfrage As String = "SELECT * FROM benutzer"


    Nein der von VB 6 bringt mir nix.


    8| Lerne doch mal bitte die Grundlagen
    //Kommentar

    xXMichaelXx schrieb:

    Habs geschafft.
    Nein man braucht kein WHERE.

    VB.NET-Quellcode

    1. myCommand.CommandText = "UPDATE benutzer SET Passwort='" & txtPasswort.Text & "', Email='" & txtEmail.Text & "'"

    Ich hab die ' vergessen :thumbup:
    Omg. Jetzt aktualisierst du alle Benutzer :D

    Das wäre der richtige Code:

    VB.NET-Quellcode

    1. myCommand.CommandText = "UPDATE Tabellenname SET Passwort='" & txtPasswort.Text & "', Email='" & txtEmail.Text & "' WHERE benutzer='" & benutzer & "'"



    EDIT: Natürlich hat der Thread von VB6 etwas gebracht, weil dort steht nichts anderes. Du hättest ihn dir erstmal durchlesen müssen.

    Demnächst liest du bitte vorher ein Buch, bevor du dich an solche Dinge heransetzt.

    RE: Online Datenbank - Einträge bearbeiten

    xXMichaelXx schrieb:

    Hallo.
    Ich habe eine Online Datenbank von Ixclusiv.
    Die ist extern zugreifbar.
    Auslesen und Reinschreiben funktioniert auch wunderbar, nur bearbeiten klappt nicht so ganz.
    Das ist mein "Datenbank code":

    VB.NET-Quellcode

    1. If Not txtPasswort.Text = "" Or txtEmail.Text = "" Then
    2. Dim conn As MySqlConnection
    3. conn = New MySqlConnection
    4. conn.ConnectionString = "server=XX.XXX.XX.XX;" _
    5. & "user id=XXXX;" _
    6. & "password=XXXX;" _
    7. & "database=XXXX"
    8. Try
    9. conn.Open() ' Verbindung öffnen
    10. Catch myerror As MySqlException
    11. MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString) ' Falls Fehler : Fehler anzeigen
    12. End Try
    13. Dim myAdapter As New MySqlDataAdapter
    14. Dim SQLAbfrage As String = "SELECT * FROM benutzer"
    15. Dim myCommand As New MySqlCommand
    16. myCommand.Connection = conn
    17. myCommand.CommandText = "INSERT INTO benutzer(Passwort, Email)" _
    18. & "VALUES('" & txtPasswort.Text & "','" & txtEmail.Text & "')"
    19. myAdapter.SelectCommand = myCommand
    20. Dim myData As MySqlDataReader
    21. myData = myCommand.ExecuteReader()
    22. Else
    23. MsgBox("Das Passwort oder/und die Email Adresse darf nicht leer sein!", MsgBoxStyle.Critical, "Fehler")
    24. End If


    Mit diesem code soll ein beareits exestierendes Feld bearbeitet werden.
    Nur das klappt nicht.
    Wenn ich diesen Code benutze wird ein neues feld erstellt mit den Eigenschaften:
    Benutzername: NULL
    Passwort: [Das ausgewählte Passwort]
    Email: [Die ausgewählte Email Adresse]

    Also:
    Anstatt das alte Feld zu bearbeiten, wird ein neues hinzugefügt.
    WIe kann ich das verhindern?
    Ich möchte das das alte bearbeitet wird.

    *Topic verschoben*
    Hallo,

    ich habe da auch eine Datenbank, bekomme aber keine Verbindung! Muß man den externen Zugriff noch ihrgendwo freischalten? Habe mir die Datenbank gestern geholt.
    Ich bekomme immer den Fehler wie im Bild zu sehen.
    Kannst mir dabei helfen???
    Bilder
    • bild.jpg

      28,78 kB, 461×107, 112 mal angesehen