tutorials.de Buch-Aktion 05/2012
Like Tree3Danke
  • 1 Beitrag von RudolfG
  • 1 Beitrag von michaelwengert
  • 1 Beitrag von deepthroat
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
324
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    Hallo,
    ich habe seit wenigen Tagen in mein C# Projekt eine anbindung zu einer MySql Datenbank hergestellt, Lesen/Schreiben geht Ohne Probleme wäre da bloss nich dieses UPDATE was überhaupt nicht gehen will.

    Ich möchte mit diesem Update Bewirken das jedesmal wenn sich ein User in meinem Programm Anmeldet in die Datenbank der TIMESTAMP für den letzten Login reinschreibt bzw. Updated.

    Hier mein Code für die Update Funktion:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    public void Update(string username)
            {
                string Query = "UPDATE users SET Last_Online= 'Test' WHERE username= " + username + ";";
                
                MySqlCommand addUpdate = new MySqlCommand(Query, this.sqlConn);
     
                 try
                {
                    addUpdate.ExecuteNonQuery();
                }
                catch (Exception excp)
                {
                    Exception myExcp = new Exception("Could not Update: " +
                        excp.Message, excp);
                    throw (myExcp);
                }
            }
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Was ist denn Last_Online für eine Spalte (Typ)?

    Was bekommst du denn für eine Ausnahme?

    Du weißt was SQL Injection bedeutet?

    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    
    var query = "update users set last_online = NOW() where username = ?user";
    using (var cmd = new MySqlCommand(query, sqlConn)) {
      cmd.Parameters.add("?user", username);
     
      try {
        cmd.ExecuteNonQuery();
      ...
    Gruß

    PS: Ups, der Highlighter kennt das C# var Schlüsselwort nicht?
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Zitat Zitat von CrimeTime89 Beitrag anzeigen
    ...
    UPDATE was überhaupt nicht gehen will.
    Allgemein würde ich sagen, dass um username (also in dem Anführungszeichen) noch das Hochkomma hinkommt z. B. so:

    Code :
    1
    
    string Query = "UPDATE users SET Last_Online= 'Test' WHERE username= '" + username + "';";

    aber besser und genauer kann man helfen wenn du uns sagen könnte was die Exception die du ja fängst als Message ausgibt.

    Gruß
    RudolfG

    PS: Die Lösung von deepthroat ist hier aber tausentmal besser!
    CrimeTime89 bedankt sich. 
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

  4. #4
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    Danke für die Antworten, aber leider ist die Spalte dann immer noch leer g*

    hier der Export von der Spalte:
    Code :
    1
    
    `Last_Online` text NOT NULL,
     

  5. #5
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von CrimeTime89 Beitrag anzeigen
    Danke für die Antworten, aber leider ist die Spalte dann immer noch leer g*

    hier der Export von der Spalte:
    Code :
    1
    
    `Last_Online` text NOT NULL,
    Soll das heißen das du keine Ausnahme bekommst?

    Warum hast du die Spalte als TEXT deklariert und nicht einen der Datum-/Zeittypen wie z.B. TIMESTAMP verwendet?

    Wie kontrollierst du denn die Werte in der Tabelle? Verwendest du Transaktionen?

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  6. #6
    Avatar von michaelwengert
    michaelwengert michaelwengert ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Heilbronn (BW)
    Beiträge
    581
    Funktioniert das Update wenn du es direkt in MySQL ausführst?
    CrimeTime89 bedankt sich. 
    What was hard to code should be hard to read, too******

  7. #7
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    @ deep, das liegt daran das ich schon ein TIMESTAMP in einer Spalte Benutze, ich denke ich kann nicht mehr als eins haben, und ich bekomme leider keine Fehlermeldung.

    @michael wie führe ich das denn aus im Mysql? einfach über PhpMyAdmin in dem Code Fenster?


    Edit:
    Ja michael es Funktioniert.
    Geändert von CrimeTime89 (25.11.10 um 12:00 Uhr)
     

  8. #8
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von CrimeTime89 Beitrag anzeigen
    @ deep, das liegt daran das ich schon ein TIMESTAMP in einer Spalte Benutze, ich denke ich kann nicht mehr als eins haben
    Sowas hab ich ja noch nie gehört. Wie kommst du denn darauf?
    Zitat Zitat von CrimeTime89 Beitrag anzeigen
    und ich bekomme leider keine Fehlermeldung.
    Hast du mal den Debugger benutzt? Wird die Methode überhaupt ausgeführt?

    Hast du dann Unterbrechung bei Ausnahmen angeschaltet?

    Gruß
    CrimeTime89 bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  9. #9
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    hatte leider den Code an einer Falschen Stelle eingebaut, da wo er nicht erreicht werden konnte, nun habe ich ihn Richtig eingebaut und alles Funktioniert wie es es sollte Danke euch
     

Ähnliche Themen

  1. mySQL Update Problem
    Von sugar im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 10.04.09, 19:22
  2. Problem mit UPDATE (MySQL)
    Von UnoDosTres im Forum PHP
    Antworten: 3
    Letzter Beitrag: 20.09.05, 13:00
  3. MySQL Update-Problem
    Von Airis im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 19.09.05, 16:04
  4. MySql Update Problem
    Von kevkev im Forum PHP
    Antworten: 2
    Letzter Beitrag: 04.08.05, 23:36
  5. MySQL Problem mit Update
    Von dragonlord im Forum PHP
    Antworten: 5
    Letzter Beitrag: 19.02.05, 19:47