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()); }
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()); }