Я хочу добавить дату в базу данных. Но только дата без времени.Дата добавления в Oracle Тип базы данных Дата
Если у меня есть переменный тип DateTime он работает, но вставляет со временем 00:00:00.
Я пробовал это, но он держит, дает мне ошибку ввода.
INSERT INTO BNR(EUR,DATE_API) VALUES (4.2546 , to_date('2016/30/03','DD-MON-YY'));
Это моя дата переменной
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
И это мой Вставить в базу данных
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 дат всегда есть время, даже если это полночь. Вы показываете, что это другое дело. С 'to_date ('2016/30/03', 'DD-MON-YY')', почему вы используете маску формата, которая не соответствует строковому литералу, который у вас есть? Что производит 'ToShortDateString()'? И почему вы устанавливаете этот параметр как строку, а не дату? –
«2016/30/03» не соответствует строке формата «DD-MON-YY», что такое «ошибка ввода»? вы получаете исключение, если да, то какое? – dlatikay
Ошибка «Ошибка SQL: ORA-01861: литерал не соответствует строке формата», а ToShortDateString() дает мне только дату без даты –