PostgreSQL date C # DateTime - PullRequest
       27

PostgreSQL date C # DateTime

1 голос
/ 28 февраля 2012

Я использую этот запрос для вставки в таблицу даты:

DateTime dt = DateTime.Now;
String query = "Insert into \"Table1\" (\"tableDate\") values (:date1)";
NpgsqlConnection conn = new NpgsqlConnection(conex.getConnection());
conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand(query, conn);
NpgsqlParameter param = new NpgsqlParameter(":date1",NpgsqlTypes.NpgsqlDbType.Date);
param.Value = dt.ToShortDateString();
cmd.Parameters.Add(param); // <----------Here i get the error
cmd.ExecuteNonQuery();
conn.Close();

И вот как я вставляю в таблицу любое другое значение, и оно работает! Так что должна быть ошибка в формате даты или что-то, но я не могу найти ответ.

1 Ответ

6 голосов
/ 28 февраля 2012

Не делай

param.Value = dt.ToShortDateString(); 

оставить только

param.Value = dt; 

Вы пытаетесь вставить строку в поле DateTime - конечно, PostgreSQL будет жаловаться.

используйте NpgsqlTypes.NpgsqlDbType.Timestamp, если вы хотите избежать потери информации о времени

...