[英]MS Access DataTime field (General Date) insert query
I have a generic DAL query, that wasnt able to insert date. 我有一个通用的DAL查询,该查询无法插入日期。 but now i want to edit it but i cant find how to insert it.
但是现在我想编辑它,但是我找不到如何插入它。 I tried as string, Convert(), Format().. anything, yet i cant seem to find how to do it.
我试过作为字符串,Convert(),Format()..任何东西,但我似乎找不到方法。 It also must be General format (which is DD/MM/YYYY HH:MM:SS(24h)) but i cant seem to find the right way.
它也必须是通用格式(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);
}
}
any Ideas? 有任何想法吗?
如果这是Access,请使用:
sql += values[i].ToString("'#'yyyy'/'MM'/'dd hh':'mm':'ss'#'");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.