public string Update(string tableName, string keyName, object instance) { Dictionary <string, object> FieldsKeyValue = Reflect.GetDBTableFields(instance.GetType(), instance); string flds = ""; object idValue = null; foreach (var fldKV in FieldsKeyValue) { if (fldKV.Key == keyName) { idValue = fldKV.Value.ToString(); continue; } if (fldKV.Value.GetType() == typeof(string)) { flds += fldKV.Key + "=N'" + fldKV.Value.ToString() + "',"; } else if (fldKV.Value.GetType() == typeof(bool)) { int bit_value = (bool)fldKV.Value ? 1 : 0; flds += fldKV.Key + "=" + bit_value + ","; } else { flds += fldKV.Key + "=" + fldKV.Value.ToString() + ","; } } flds = flds.TrimEnd(','); string sqlStr = "UPDATE " + tableName + " SET " + flds + " WHERE " + keyName + "=" + idValue.ToString(); return(sqlStr); }
public string Insert(string tableName, string keyName, object instance, bool autoIncrement) { Dictionary <string, object> FieldsKeyValue = Reflect.GetDBTableFields(instance.GetType(), instance); string flds = "("; string values = "("; foreach (var fldKV in FieldsKeyValue) { if (autoIncrement && fldKV.Key == keyName) { continue; } flds += fldKV.Key + ","; if (fldKV.Value.GetType() == typeof(string)) { values += "N'" + fldKV.Value.ToString() + "',"; } else if (fldKV.Value.GetType() == typeof(bool)) { int bit_value = (bool)fldKV.Value ? 1 : 0; values += bit_value + ","; } else { values += fldKV.Value.ToString() + ","; } } flds = flds.TrimEnd(',') + ")"; values = values.TrimEnd(',') + ")"; string sqlStr = "INSERT INTO " + tableName + "\n" + flds + "\nVALUES" + values; sqlStr += ";\nSELECT @@Identity"; return(sqlStr); }