0
私は、データベース内のデータの挿入テーブルをしたいPgSqlExcetion:範囲外の日付/時刻フィールドの値:「2012年4月20日12時00分00秒AM」
生成CMDでpublic void InsertNote(DataTable dataTable)
{
var query = new StringBuilder();
query.Append("INSERT INTO sde.\"Table1\"
(id, disciplol, date, second_id, note, key) VALUES ");
foreach (DataRow row in dataTable.Rows)
{
query.AppendFormat(" ({0}, '{1}', '{2}', {3}, '{4}', '{5}'),",
row["classid"], row["disciplina"], row["datelesson"], row["student_id"], "", row["key"]);
}
// TODO : Review
query.Replace(',', ';', query.Length - 2, 2);
var cmd = new PgSqlCommand(query.ToString());
var con = DB.Sqlconnection;
cmd.Connection = con;
con.Open();
try
{
cmd.ExecuteNonQuery();
// result = true;
}
catch (Exception ex)
{
//result = false;
log.Error("InsertInTable1", ex.ToString());
}
finally
{
con.Close();
}
}
私はこのクエリを持っている:
範囲外 PgSqlExcetion 日付/時刻フィールドの値::私は日付を変換する必要があります「2012年4月20日午前12:00:00」を、私はこの例外を持ってキャッチで
INSERT INTO sde."RegistruNote" (first_id, discipline, date, second_id, note, key) VALUES
(131415, 'Painting', '4/20/2012 12:00:00 AM', 432431, 'asd', 'aWbhxZn3X'),
(131415, 'Painting', '4/20/2012 12:00:00 AM', 432432, 'fas', '3Dl8YCSgX'),
(131415, 'Painting', '4/20/2012 12:00:00 AM', 432433, 'asd', '8RiBgcjuL'),
(131415, 'Painting', '4/20/2012 12:00:00 AM', 432434, 'fds', '8rAW1VfC7'),
(131415, 'Painting', '4/20/2012 12:00:00 AM', 432435, 'gfd', 'LhRP2y5Ji'),
(131415, 'Painting', '4/20/2012 12:00:00 AM', 432436, 'wer', 'lGVa5boYs'),
(131415, 'Painting', '4/20/2012 12:00:00 AM', 432437, 'wer', 'hbFfo2zNg'),
(131415, 'Painting', '4/20/2012 12:00:00 AM', 432438, 'we', 'xEq7iAhMi'),
(131415, 'Painting', '4/20/2012 12:00:00 AM', 432439, 'rew', 'drFNV9sCm'),
(131415, 'Painting', '4/20/2012 12:00:00 AM', 432410, 'tw', 'dJ5XwJLQy');
dd.mm.yyyy形式へ?
foreach(dataTable.RowsのDataRow行) { query.AppendFormat( "({0}、{1}"、{2}、{3}、 "{4}"、{5 */ (行["datelesson"]はDateTime?(DateTime)の行です)[*]ここでは、*/ という形式を指定しています。["datelesson" "datelesson"]: new DateTime())ToString( "dd.MM.yyyy")、行["student_id"]、 ""、行["key"]); } フォーマットはdd.mm.yyyyで、挿入が機能しています) – Alex