Ich möchte ein Datum zur Datenbank hinzufügen. Aber nur das Datum ohne Zeit.Datum zu Oracle hinzufügen Datenbanktyp Datum
Wenn ich einen variablen Typ haben DateTime funktioniert es aber fügt mit der Zeit 00:00:00 ein.
Ich habe versucht, aber es hält mich Eingabefehler.
INSERT INTO BNR(EUR,DATE_API) VALUES (4.2546 , to_date('2016/30/03','DD-MON-YY'));
Das ist mein Datum Variable
DateTime date_bnr = (from cube in doc.Descendants(d + "Cube")
from rate in cube.Elements(d + "Rate")
where
((DateTime)cube.Attribute("date")).Date == yesterday
&&
(string)rate.Attribute("currency") == "EUR"
select ((DateTime)cube.Attribute("date")).Date
).FirstOrDefault();
var datebnr = date_bnr.ToShortDateString(); // what I tried
var dt = date_bnr.ToString("DD-MON-YY"); // what I tried
Und das ist mein Einfügen auf Datenbank
string insert_bnr = "INSERT INTO BNR(EUR,DATE_API) VALUES (:value,:datee) ";
OracleCommand cmd = new OracleCommand(insert_bnr, con);
OracleParameter bnr_value = new OracleParameter();
bnr_value.OracleDbType = OracleDbType.Varchar2;
bnr_value.Value = bnr.ToString();
OracleParameter bnr_date = new OracleParameter();
bnr_date.OracleDbType = OracleDbType.Date;
bnr_date.Value = dt;
cmd.Parameters.Add(bnr_value);
cmd.Parameters.Add(bnr_date);
cmd.ExecuteNonQuery();
Oracle Termine immer eine Zeit haben, auch wenn es Mitternacht ist. Ob Sie das anzeigen, ist eine andere Sache. Mit 'to_date ('2016/30/03', 'DD-MON-YY')', warum verwenden Sie eine Formatmaske, die nicht mit dem String-Literal übereinstimmt, das Sie haben? Was erzeugt 'ToShortDateString()'? Und warum setzen Sie diesen Parameter als String und nicht als Datum? –
"2016/30/03" stimmt nicht mit der Formatzeichenkette "DD-MON-YY" überein, was ist "Eingabefehler"? Hast du eine Ausnahme, wenn ja, welche? – dlatikay
Der Fehler ist "SQL-Fehler: ORA-01861: Literal stimmt nicht überein Formatzeichenfolge" und ToShortDateString() gibt mir nur das Datum ohne Datum –