Event welches an jedem 1. des monats ausgeführt werden soll

  • Huhu! ich habe jetzt schon viel gesucht aber nix gefunden ... ich hoffe ihr könnt mir helfen. Also ich habe erstmal nur strings die ich einlesen will, bei folgendem code bekomm ich immer die nachricht bei command.ExecuteNonQuery();das die eingabeparameter falsch sind..


  • Ohne mich jetzt näher mit der c# klasse zu befassen, aber das hier http://msdn.microsoft.com/de-d…ommand.parameters.aspx#Y0 sieht ein bisschen anders aus.

    Das is auch die SQL-Klasse und nicht die SQL-Lite-Klasse :P



    Das mit dem Parameterkrams versteh ich net. Ich würde einfach stumpf SQL ausführen (wesentlich kürzer):

    Code
    1. command.CommandText = String.Format("INSERT INTO daten (ID,Datum,Betrag,Kategorie,Art) VALUES({0},'{1}','{2}','{3}','{4}')",
    2. sindex,
    3. datum,
    4. betrag,
    5. kategorie,
    6. art);
    7. command.ExecuteNonQuery();


    Wichtig ist, dass du alle Parameter die nicht numerisch (also zahlen) sind, in Single-Quotes ( ' ) schreibst. Sonst klappt der Query net.


    Gruß
    florian0

  • verrückt, vielen dank, so wie du hatte ich es am anfang auch weil es wirklich kürzer war, aber ich bekam immer einen fehler und habe dann in msdn nach weiteren lösungen gesucht... aber es lag daran das ich den index auch mit '{0}' gesetzt hatte, aber jetzt geht es. vielen dank =)

  • Es bietet sich eigentlich an lieber Queries vorzubereiten und dann die Parameter zu übergeben (Prepared Statements, Stichwort SQL-Injection). Was mich bei deinem Query stört sind aber die Zahlen hinter den Fragezeichen. So eine merkwürdige Syntax kenn ich gar nicht o.O Normalerweise ist das Fragezeichen selbst ein Platzhalter und da kommt keine Zahl dran.

  • ich bins nochmal... so ... so weit ist alles gut und schön, habe in mein programm jetzt auch noch daueraufträge eingebaut, welche jährlich,wöchentlich, monatlich, täglich in die datenbank geschrieben werden sollen... mit paar umwegen schaffe ich es nun bei täglich und wöchentlich die daten in die datenbank zu schreiben, aber wie kann ich das mit monatlich realisieren? weil ja jeder monat unterschiedlich lang ist, habt ihr vielleicht ein stichwort für mich, was mir hilft und wie ich weiter komme?

  • genau das mach ich ja auch, aber dann schauen wie viele erste zwischen letzter eintrag und heute vergangen sind, da harpert es!

  • Sorry hatte nur deinen letzten Post gelesen. Naja warum schaust du nicht einfach welcher Monat ist? Wenn nicht gleich dem alten Monat -> Action! :)


    [cs]
    DateTime.Now.Month != oldMonth
    [/cs]

  • oh man... manchmal kann es so einfach sein... wenn der monat ungleich ist dann füge ich in den datensatz ein und schraube mein oldmonth ein hoch und schaue wieder, bis die monate gleich sind, muss ich nur noch den jahreswechsel beachten ... danke ;)

  • so last question zu diesem projekt ;)
    also wenn ich an einer andere stelle der klasse mein datum einschreibe funktioniert es... aber unten auf dem bild, wo ich eine bestimmte reihe updaten bzw verändern will sagt er mir das datum falsches format hat. woran kann es liegen?
    is meine letzte frage... -.- ich weiß ich weiß aber ich habe auch im internet schon viel gesucht =(


    Code
    1. command.CommandText = String.Format("INSERT INTO oefter (Datum,Betrag,Kategorie,Art,Letztes,wie) VALUES('{0}','{1}','{2}','{3}','{4}','{5}')", datum, betrag, kategorie, art, last, wie);