Fehler beim insert vom Datum

czemmel

Mitglied
Hallo zusammen,
ich poste mal hier, weil ich nicht genau weiss wo ich es posten soll.

Also ich habe eine sdf-DB als Grundlage.
Eine Benutzeroberfläch usw.

In einer meiner Tabellen habe ich ein Feld "Aenderdatum" das ich mit dem Datentyp "DATETIME" versehen habe.

Nun meine Problem:

Wenn ich nun ein Update oder Insert machen möchte kommt immer die Fehlermeldung, dass mein Datum nicht korrekt ist

Mein SQL-String:

strsql = "Update TAPOS set ISTMENGE= " & CStr(lngIstMenge + lngMENGE) & ",STATUS=" & strStatus & ",dtmAenderdatum= '" & Date.Now & "',struser='" & strUSER & "' Where rowId='" & strRowid & "'"

Das Datumsfeld hat eine Standardlänge von 8, die Versuche mit folgenden Schreibweisen habe ich auch schon probiert: dd.mm.yy, dd.mm.yyyy sowie mit /

Hat irgend einer ein Idee, an was das liegen könnte?
Gruß
Czemmel
 
Hi

Du solltest dafür Ableitungen der Klassen DbCommand bzw. DbParameter (Bsp.: SqlCommand / SqlParameter) nutzen. Diese passen den übergebenen Wert entsprechend der Verbindung und dem verwendeten DBMS an.
Da ich nicht weiß, zu welchem DBMS die Dateiendung sdf gehört musst du selbst schauen, welche DataAdapter für dich in Frage kommt.
 
Hallo und einen schönen guten Morgen,
ich weiss jetzt nicht genau was du meinst, hier noch mal meine Verbindung
Code:
 Dim sdfconn As New SqlCeConnection(strDbConn)

            sdfconn.Open()
            Dim ds As New DataSet
            Dim sql As New SqlCeCommand(strsql, sdfconn)

            sql.CommandType = CommandType.Text
            Dim aAdp As New SqlCeDataAdapter(sql)
            aAdp.Fill(ds)
            sdfconn.Close()
 
Habe es auch schon mit

Code:
 date.now.toString("yyyy-MM-dd")
probiert und habe dann folgendes Datum erhalten "05.06.1905"

Dann habe ich es auch mit
Code:
 Now.Ticks.ToString
bekomme dann aber folgende Meldung: Fehler bei Datenbankabfrage:Beim Konvertieren von 'numeric' in 'datetime' ist möglicherweise ein Überlauf aufgetreten. ; Update tbl_TAPOS set ISTMENGE= 20,STATUS=30,dtmAenderdatum= 633395280857100800,struser='1' Where rowId='1' ;

Hat irgend jemand eine Idee?
Gruß
Czemmel
 
Zurück