tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
20
ZUGRIFFE
2501
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    warcraft9105 warcraft9105 ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Ort
    Pocking (Bayern)
    Beiträge
    207
    Moin moin,
    hab wieder einmal ein Problem.
    Und zwar habe ich in meiner Access-Datenbank eine Tabelle in der eine Spalte vom Typ DateTime ist. Wenn ich jetzt einen Datensatz speichern möchte geht es mit
    Code :
    1
    
     "INSERT INTO Daten(Datum) VALUES('" + DateTime.Today.ToString() + "');";
    wunderbar, aber mit
    Code :
    1
    
     "INSERT INTO Daten(Datum) VALUES('" + this.dateTimePicker1.Value.ToString() + "');";
    nicht, obwohl es der gleiche String wäre. (einfach mit MessageBox.Show() ausprobiert)
    Kann mir jemand sagen was ich falsch mache?

    MfG, Max
     
    Guck mal auf Deiner Tastatur, da finden sich 2 Shift-Tasten. Die sind nicht dazu da ignoriert zu werden.;)

  2. #2
    M4st3r M4st3r ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Ort
    Frankfurt am Main
    Beiträge
    297
    Wie schiebst du denn die Daten in die Datenbank? Wieso arbeitest du nicht mit Parametern?

    Ich habe mal gelernt:

    Benutze für variable Inhalte eines SQL-Befehls niemals String-Verknüpfung, sondern immer DbParameter!


    Macht zwar ein wenig mehr arbeit, erhöht aber die Sicherheit...

    Wenn ich davon ausgehe, dass du mit einem DbCommand-Objekt arbeitest, dann ist das relativ einfach:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    using(DbCommand myDbCmd = getDbCommand()) // Erstellen des DbCommands implementieren
    {
     
    myDbCmd.CommandText = "INSERT INTO myTab (dateTimeField) VALUES (@dateParam)";
     
    DbParameter dbP = new DbParameter("dateParam", DbType.DateTime); //Oder so ähnlich
     
    myDbCmd.Parameters.Add(dbP);
    myDbCmd.ExecuteNonQuery();
    }

    ...und schon bist du dein Problem los!
     
    http://dirkgoldecker.spaces.live.com

    . Microsoft Certified Technology Specialist
    . Microsoft Certified Professional Developer
    |-> Web Applications

  3. #3
    warcraft9105 warcraft9105 ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Ort
    Pocking (Bayern)
    Beiträge
    207
    Habs gerade ausprobiert... Funktioniert aber auch nicht... Er bringt immer noch eine Fehlermeldung:
    Code :
    1
    
    Unverträglicher Datentyp in Ausdruck
    Verwende übrigends den Namspace System.Data.OleDb...

    MfG, Max
     
    Guck mal auf Deiner Tastatur, da finden sich 2 Shift-Tasten. Die sind nicht dazu da ignoriert zu werden.;)

  4. #4
    M4st3r M4st3r ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Ort
    Frankfurt am Main
    Beiträge
    297
    Kannst du mal ein bißchen Code posten?
     
    http://dirkgoldecker.spaces.live.com

    . Microsoft Certified Technology Specialist
    . Microsoft Certified Professional Developer
    |-> Web Applications

  5. #5
    warcraft9105 warcraft9105 ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Ort
    Pocking (Bayern)
    Beiträge
    207
    Na klar...
    Code :
    1
    2
    3
    4
    
    [SIZE=2]
    cmd = ConnectCommand();
    cmd.CommandText = [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"DELETE FROM Daten WHERE ArbeiterID = "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] + aID + [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]" AND Datum=@dateparam;";[/COLOR][/SIZE][/COLOR][/SIZE]
    [SIZE=2][COLOR=#a31515][COLOR=black]cmd.Paramters.Add("[/COLOR]dateparam[COLOR=black]", this.dtp_datum.value);[/COLOR][/COLOR][/SIZE]
     
    Guck mal auf Deiner Tastatur, da finden sich 2 Shift-Tasten. Die sind nicht dazu da ignoriert zu werden.;)

  6. #6
    M4st3r M4st3r ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Ort
    Frankfurt am Main
    Beiträge
    297
    Also zuerst einmal: Wenn Parameter, dann alles Parameter :

    Code :
    1
    2
    3
    4
    5
    6
    
    [SIZE=2]cmd = ConnectCommand();
    cmd.CommandText = [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"DELETE FROM Daten WHERE ArbeiterID=@aID[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515] AND Datum=@dateparam;";[/COLOR][/SIZE][/COLOR][/SIZE]
     
    [SIZE=2][COLOR=#a31515][COLOR=black]cmd.Paramters.Add("[/COLOR]dateparam[COLOR=black]", this.dtp_datum.value);
    [/COLOR][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][COLOR=black]cmd.Paramters.Add("aID[/COLOR][COLOR=black]", aID);
    [/COLOR][/COLOR][/SIZE]

    ...vielleicht lag es ja an der ArbeiterID - ist das ein varchar oder ein int in der DB?
     
    http://dirkgoldecker.spaces.live.com

    . Microsoft Certified Technology Specialist
    . Microsoft Certified Professional Developer
    |-> Web Applications

  7. #7
    warcraft9105 warcraft9105 ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Ort
    Pocking (Bayern)
    Beiträge
    207
    Nö an der aID liegts nicht... Bin mir da so sicher weil die Query vorher gegangen is... Aber eben nicht mit diesem DateTime-Object...
    Code :
    1
    2
    3
    4
    
    [SIZE=2]
    cmd = ConnectCommand();
    cmd.CommandText = [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"DELETE FROM Daten WHERE ArbeiterID = "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] + aID + [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]" AND Datum=Date();"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    [/SIZE]
    das Feld ArbeiterID is ein VARCHAR(20) Feld...
     
    Guck mal auf Deiner Tastatur, da finden sich 2 Shift-Tasten. Die sind nicht dazu da ignoriert zu werden.;)

  8. #8
    M4st3r M4st3r ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Ort
    Frankfurt am Main
    Beiträge
    297
    ...und das Feld Datum ist ein DateTime nehm ich mal an...

    Ist das hier ein DateTime-Objekt oder ein String:

    Code :
    1
    2
    
    [SIZE=2][COLOR=#a31515][COLOR=black]this.dtp_datum.value
    [/COLOR][/COLOR][/SIZE]

    Sorry, is noch früh und ich hatte noch keinen Kaffee - das Problem ist bestimmt offensichtlich aber ich sehs noch nicht


    Hab gerade den Thread noch gefunden:

    http://www.eggheadcafe.com/conversat...eadid=33182681

    vielleicht bringt dich das weiter - gleiches Problem wie bei dir!
    Geändert von M4st3r (10.06.09 um 09:52 Uhr)
     
    http://dirkgoldecker.spaces.live.com

    . Microsoft Certified Technology Specialist
    . Microsoft Certified Professional Developer
    |-> Web Applications

  9. #9
    warcraft9105 warcraft9105 ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Ort
    Pocking (Bayern)
    Beiträge
    207
    Der Thread hat mir jetzt nicht geholfen... leider...
    Die Variable dtp_datum.Value ist der Wert von meinem DateTimePicker dtp_datum... Der Value sieht so aus: 10.06.2009 00:00:00...
    Und in der Datenbank hab ich das gleiche Format... Deswegen versteh ich nicht wieso er mir diese Fehlermeldung bringt...
     
    Guck mal auf Deiner Tastatur, da finden sich 2 Shift-Tasten. Die sind nicht dazu da ignoriert zu werden.;)

  10. #10
    M4st3r M4st3r ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Ort
    Frankfurt am Main
    Beiträge
    297
    Ich habs mal "nachgebaut" und in den Anhang gepackt. Scheint zu laufen - schaus dir mal an. Benutze zwar kein OleDB, ist aber vom Prinzip her das gleiche...
    Geändert von M4st3r (10.06.09 um 11:06 Uhr)
     
    http://dirkgoldecker.spaces.live.com

    . Microsoft Certified Technology Specialist
    . Microsoft Certified Professional Developer
    |-> Web Applications

  11. #11
    warcraft9105 warcraft9105 ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Ort
    Pocking (Bayern)
    Beiträge
    207
    Kann die Datei nicht öffnen... Sie ist fehlerhaft sagt Winzip...
     
    Guck mal auf Deiner Tastatur, da finden sich 2 Shift-Tasten. Die sind nicht dazu da ignoriert zu werden.;)

  12. #12
    M4st3r M4st3r ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Ort
    Frankfurt am Main
    Beiträge
    297
    Probier nochmal, hab die Datei aktualisiert...
     
    http://dirkgoldecker.spaces.live.com

    . Microsoft Certified Technology Specialist
    . Microsoft Certified Professional Developer
    |-> Web Applications

  13. #13
    warcraft9105 warcraft9105 ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Ort
    Pocking (Bayern)
    Beiträge
    207
    Ich kann sie jetzt zwar mit 7zip öffnen aber es beinhaltet nur eine Datei und die ist ohne Endung... was ist das für eine Datei?
     
    Guck mal auf Deiner Tastatur, da finden sich 2 Shift-Tasten. Die sind nicht dazu da ignoriert zu werden.;)

  14. #14
    M4st3r M4st3r ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Ort
    Frankfurt am Main
    Beiträge
    297
    Wie nur eine Datei? Warte, ich schieb sie auf meinen Server und schick dir ne PN
     
    http://dirkgoldecker.spaces.live.com

    . Microsoft Certified Technology Specialist
    . Microsoft Certified Professional Developer
    |-> Web Applications

  15. #15
    warcraft9105 warcraft9105 ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Ort
    Pocking (Bayern)
    Beiträge
    207
    Was ist denn DbProviderHelper für eine Klasse bzw. Namespace?
    Hab ich noch nie gehört oder verwendet...
     
    Guck mal auf Deiner Tastatur, da finden sich 2 Shift-Tasten. Die sind nicht dazu da ignoriert zu werden.;)

Ähnliche Themen

  1. DateTime - Format vergewaltigt sich selbst
    Von Manii im Forum Visual Basic 6.0
    Antworten: 6
    Letzter Beitrag: 27.07.07, 02:54
  2. DateTime anderes Format ausgeben?
    Von heiko263 im Forum .NET Café
    Antworten: 3
    Letzter Beitrag: 08.09.05, 11:51
  3. datetime format
    Von [planlos]Shorty im Forum PHP
    Antworten: 1
    Letzter Beitrag: 11.03.05, 01:11
  4. DateTimePicker mit Custom-Format
    Von Rentierchen im Forum .NET Archiv
    Antworten: 4
    Letzter Beitrag: 26.10.04, 15:28
  5. datetime problem mit 12h format
    Von derGugi im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 22.04.03, 16:01