2012-02-28 46 views
0

我使用這個查詢插入表日期:PostgreSQL的日期C#的DateTime

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

這就是我如何在表中插入任何其他價值和它的作品!所以日期格式中肯定有錯誤,但是我找不到答案。

回答

5

不要做

param.Value = dt.ToShortDateString(); 

離開只是

param.Value = dt; 

你試圖插入一個字符串轉換爲DateTime字段 - 確保PostgreSQL將抱怨。

使用NpgsqlTypes.NpgsqlDbType.Timestamp如果你想避免丟失的時間做了很多其他數據類型相同的信息

+0

但是我...讓我試試 – dbncourt 2012-02-28 04:44:08

+0

我愛你! thx的幫助!我的天啊!!我無法在任何地方找到答案!如果我可以給你一百萬分! – dbncourt 2012-02-28 04:59:24