PostgreSQL日期 C# DateTime

5

我正在使用这个查询将日期插入到表中:

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个回答

10

不要这样做

param.Value = dt.ToShortDateString(); 

仅保留

param.Value = dt; 

你试图将一个字符串插入到DateTime字段中 - PostgreSQL肯定会抱怨。

如果你想避免丢失时间信息,可以使用NpgsqlTypes.NpgsqlDbType.Timestamp。


但我正在使用许多其他数据类型进行相同的操作...让我试试。 - dbncourt
我爱你!谢谢你的帮助!!天哪!我找不到答案!如果可以的话,我会给你一百万分的! - dbncourt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接