Announcement

Collapse
No announcement yet.

Arithmetischer Überlauffehler

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Arithmetischer Überlauffehler

    Guten Tag,

    Ich habe ein VBScript geschrieben welches mir die Werte v1-v7 in eine Tabelle innerhalb der SQL-Datebank schreibt.

    Wenn v2-v7 den Wert "1" hat funktioniert das Skript einwandfrei.

    Bei v2-v7 = "11" bekomme ich einen Arithmetischen Überlaufer. Die Variablen in der SQL-Datenbank sind numeric!

    Code:
    numeric
    
    Numerische Datentypen mit fester Genauigkeit und fester Anzahl von Dezimalstellen.
    numeric[(p[, s])]
    
    Zahlen mit fester Genauigkeit und mit fester Anzahl von Dezimalstellen. Bei maximaler Genauigkeit befinden sich die gültigen Werte in einem Bereich von - 10^38 +1 bis 10^38 - 1.
    Wo liegt mein Fehler?





    Code:
    'VBSCript
    Dim conn, rst, dbname, tblname 
    Dim SQL_Table1
    Dim dbpath
    
    Dim V1, V2, V3, V4, V5, V6, V7
    
    V1 =  "2012/07/12 00:00:00"
    V2 = "11"
    V3 = "11"
    V4 = "11"
    V5 = "11"
    V6 = "11"
    V7 = "11"
    
    
    Set conn = CreateObject("ADODB.Connection")
    Set rst = CreateObject("ADODB.Recordset")
    
    dbname  = "DEST_Parameter"
    tblname = "Max_Min"
    dbpath = "[" & dbname & "].dbo." & tblname
    
    '---------------------------------------
    
    'Open data source - Datenquelle öffnen
    conn.Open "Provider=MSDASQL;DSN=WinCCFlex_to_SQL"
    
    '---------------------------------------
    
    'Select data record of the table - Datensatz der Tabelle auswählen
    SQL_Table1 = "INSERT INTO " & dbpath & "  ([Timestamp],[TICA±4001_Max],[TICA±4001_Min],[QISA+4001_Max],[QISA+4001_Min],[QISA+4002_Max],[QISA+4002_Min]) VALUES ('" & V1 & "' , '" & V2 & "' , '" & V3 & "' , '" & V4 & "', '" & V5 & "', '" & V6 & "', '" & V7 & "')"
    
    'Writes a data record into a table
    Set rst = conn.Execute(SQL_Table1)
    
    '---------------------------------------
    
    'Close data source - Datenquelle schließen
    conn.close
    
    Set rst = Nothing
    Set conn = Nothing

  • #2
    Hallo hoT,
    wie kommt man nur auf solche Feldnamen ....
    Wo liegt mein Fehler?
    Z.B. das Feld [QDISA+4001Max] ist als numeric(4,3) deklariert, heisst es kann Werte mit insgesamt 4 Stellen haben, davon 3 Nachkommastellen. D.h. es kann nur eine Vorkommastellen haben; 11.0 hat 2 VKStellen.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      .. O.Helper war schneller, habe meinen Beitrag daher wieder gelöscht :-)

      bye,
      Helmut

      Comment


      • #4
        Vielen Dank 6 Augen sehen halt mehr als 2!

        Comment

        Working...
        X