MS Access DateTime字段(General Date)插入查询
MS Access DataTime field (General Date) insert query
我有一个通用 DAL 查询,它无法插入日期。但现在我想编辑它,但我找不到如何插入它。
我试过作为字符串、Convert()、Format().. 任何东西,但我似乎无法找到如何去做。
它还必须是通用格式(即 DD/MM/YYYY HH:MM:SS(24h)),但我似乎找不到正确的方法。
public static void AddRow(string TableName, object[] values)
{
DataTable dt = OleDbhelper.fill("SELECT TOP 1 * FROM " + TableName);
if (dt.Columns.Count - 1 == values.Length)
{
string sql = "INSERT INTO " + TableName + " (";
for (int i = 1; i < dt.Columns.Count; i++)
{
sql += "[" + dt.Columns[i].ColumnName + "]";
if (i != dt.Columns.Count - 1)
sql += ",";
else
sql += ") ";
}
sql += "VALUES (";
for (int i = 0; i < values.Length; i++)
{
if (dt.Columns[i + 1].DataType.ToString() == "System.String")
sql += "'" + values[i].ToString() + "'";
else
if (dt.Columns[i + 1].DataType.ToString() == "System.DateTime")
sql += "CONVERT(" + values[i] + "'yyyy-mm-dd hh:mi:ss(24h)'"; // This part
else
sql += values[i].ToString();
if (i != dt.Columns.Count - 2)
sql += ",";
else
sql += ") ";
}
OleDbhelper.Execute(sql);
}
}
有什么想法吗?
如果这是 Access,请使用:
sql += values[i].ToString("'#'yyyy'/'MM'/'dd hh':'mm':'ss'#'");
我有一个通用 DAL 查询,它无法插入日期。但现在我想编辑它,但我找不到如何插入它。 我试过作为字符串、Convert()、Format().. 任何东西,但我似乎无法找到如何去做。 它还必须是通用格式(即 DD/MM/YYYY HH:MM:SS(24h)),但我似乎找不到正确的方法。
public static void AddRow(string TableName, object[] values)
{
DataTable dt = OleDbhelper.fill("SELECT TOP 1 * FROM " + TableName);
if (dt.Columns.Count - 1 == values.Length)
{
string sql = "INSERT INTO " + TableName + " (";
for (int i = 1; i < dt.Columns.Count; i++)
{
sql += "[" + dt.Columns[i].ColumnName + "]";
if (i != dt.Columns.Count - 1)
sql += ",";
else
sql += ") ";
}
sql += "VALUES (";
for (int i = 0; i < values.Length; i++)
{
if (dt.Columns[i + 1].DataType.ToString() == "System.String")
sql += "'" + values[i].ToString() + "'";
else
if (dt.Columns[i + 1].DataType.ToString() == "System.DateTime")
sql += "CONVERT(" + values[i] + "'yyyy-mm-dd hh:mi:ss(24h)'"; // This part
else
sql += values[i].ToString();
if (i != dt.Columns.Count - 2)
sql += ",";
else
sql += ") ";
}
OleDbhelper.Execute(sql);
}
}
有什么想法吗?
如果这是 Access,请使用:
sql += values[i].ToString("'#'yyyy'/'MM'/'dd hh':'mm':'ss'#'");