2016-09-29 3 views
0

ich mit der folgenden Abfrage Daten in die Tabelle am Einfügen ..Kein gültiger Monat, während die Daten in Oracle Einfügen

INSERT INTO xxcus.xxacl_pn_agrmnt_mst 
     (mkey, transaction_type, survey_area_7_12, ref_date, status, 
     mst_date, remarks, tran_type, created_by, creation_date, 
     last_update_date, last_updated_by, delete_flag 
     ) 
VALUES (1, 'AGR', 'khan,', '29-09-2016', 'AGD', 
     '11/09/2016', 'Test', 'AM', '5681', '29-09-2016 17:10:19', 
     '29-09-2016 17:10:19', '5681', 'N' 
     ) 

Aber immer Fehler wie

Kein gültiger Monat für 29-09

-2016

Hier ist der Code aus, wo ich

xw.WriteElementString("REF_DATE", txtRefdate.Value); 
bin Einfügen

Ich weiß nicht, was hier

falsch ist

Antwort

2

Sie Datentyp Ihrer Datumsspalten von

to_date('29-09-2016 17:10:19', 'DD-MM-YYYY HH24:MI:SS') 
+0

lassen Sie mich wissen, wie es fügen hier 'GridPayInfo.Rows [intGrdPay] .Cells [GridPayInfo.Columns.GetColumnIndexByDataField (" CHEQUE_DT ")]. Text.Trim()' – BNN

+0

Könnten Sie bitte den vollständigen Code Ihres oben erwähnten 'xw' Objektes hinzufügen? –

1

'29-09-2016 17:10:19' werfen sollte, ist kein Datum es eine Zeichenfolge ist.

Oracle will use the NLS_DATE_FORMAT session parameter as the format mask when implicitly converting a string to a date (d. H., Wenn Sie versuchen, einen Zeichenfolgenwert in eine Datumsspalte einzufügen) und wenn diese Formatmaske nicht mit dem Format der Zeichenfolge übereinstimmt, erhalten Sie einen Fehler.

Um ein Datum erzeugen Sie ein Datum, String explizit umwandeln sollte entweder durch:

Ihre Anfrage (wenn Sie ANSI-Literale) sein sollte:

INSERT INTO xxcus.xxacl_pn_agrmnt_mst (
    mkey, 
    transaction_type, 
    survey_area_7_12, 
    ref_date, 
    status, 
    mst_date, 
    remarks, 
    tran_type, 
    created_by, 
    creation_date, 
    last_update_date, 
    last_updated_by, 
    delete_flag 
) VALUES (
    1, 
    'AGR', 
    'khan,', 
    DATE '2016-09-29', 
    'AGD', 
    DATE '2016-09-11', 
    'Test', 
    'AM', 
    '5681', 
    TIMESTAMP '2016-09-29 17:10:19', 
    TIMESTAMP '2016-09-29 17:10:19', 
    '5681', 
    'N' 
) 
+0

Also wie soll ich es hier hinzufügen? GridPayInfo.Rows [intGrdPay] .Cells [GridPayInfo.Columns.GetColumnIndexByDataField ("CHEQUE_DT")]. Text.Trim() '? – BNN

+0

@nad Das ist nicht SQL und ich bin nicht in der Lage zu beantworten, basierend auf einem kleinen Code-Schnipsel ohne Kontext. Sie würden besser eine Frage mit ** allem ** den relevanten Code stellen. Mach ein [MCVE]. – MT0