コード例 #1
0
        private static string CreateInsertQuery(object obj, string tableName = null)
        {
            StringBuilder query     = new StringBuilder();
            StringBuilder values    = new StringBuilder();
            StringBuilder propertie = new StringBuilder();
            Type          type      = obj.GetType();

            query.AppendFormat("INSERT INTO [{0}]", tableName ?? type.Name);
            values.Append("VALUES(");
            propertie.Append('(');
            PropertyInfo[] properties = type.GetProperties();

            for (int i = 0; i < properties.Length; i++)
            {
                PropertyInfo prop = properties[i];

                propertie.AppendFormat("[{0}]", prop.Name);
                values.AppendFormat("{0}", SqlValueConverter.ToSqlValue(prop.GetValue(obj), prop.PropertyType));

                if (i < properties.Length - 1)
                {
                    propertie.Append(", ");
                    values.Append(", ");
                }
            }
            propertie.Append(')');
            values.Append(')');

            return(query.AppendFormat("{0} {1}", propertie.ToString(), values.ToString()).ToString());
        }
コード例 #2
0
        private static string CreateUpdateQuery(object obj, string where, string tableName = null)
        {
            StringBuilder query  = new StringBuilder();
            StringBuilder values = new StringBuilder();

            Type type = obj.GetType();

            query.AppendFormat("UPDATE [{0}]", tableName ?? type.Name);
            values.Append("SET");
            PropertyInfo[] properties = type.GetProperties();

            for (int i = 0; i < properties.Length; i++)
            {
                PropertyInfo prop = properties[i];

                values.AppendFormat(" [{0}] = {1}", prop.Name, SqlValueConverter.ToSqlValue(prop.GetValue(obj), prop.PropertyType));

                if (i < properties.Length - 1)
                {
                    values.Append(',');
                }
            }
            return(query.AppendFormat(" {0} {1}", values.ToString(), where).ToString());
        }