【问题标题】:PostgreSQL date C# DateTimePostgreSQL 日期 C# DateTime
【发布时间】:2012-02-28 04:36:43
【问题描述】:

我正在使用此查询向表中插入日期:

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();

这就是我在表中插入任何其他值的方式,它可以工作!所以肯定是日期格式什么的有错误,但是我找不到答案。

【问题讨论】:

    标签: c# postgresql datetime insert


    【解决方案1】:

    别这样

    param.Value = dt.ToShortDateString(); 
    

    离开

    param.Value = dt; 
    

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

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

    【讨论】:

    • 但是我对很多其他数据类型也做同样的事情......让我试试
    • 我爱你!!谢谢你的帮助!!!我的天啊!!我无法在任何地方找到答案!如果我能为此给你一百万分!
    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 2011-02-28
    • 1970-01-01
    相关资源
    最近更新 更多