简体   繁体   English

MS Access DataTime字段(常规日期)插入查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM