public void Insert(IHashEntity entity, bool PkeyIsIdentity) { SqlFactory sql = new SqlFactory(entity.TableName, SqlType.INSERT); Hashtable htalbe = entity.PropertySet; foreach (string colName in entity.ColNames) { if (!PkeyIsIdentity || colName != entity.PKeyName) { if (htalbe[colName] != null) { switch (SqlFactory.GetColType(htalbe[colName].GetType())) { case 1: sql.AppendQuote(colName, htalbe[colName]); break; case 2: sql.Append(colName, htalbe[colName]); break; default: sql.Append(colName, htalbe[colName]); break; } } } } ExecuteNonQuery(sql.CreateSQL()); }
public static string CreateSqlToUpdate(IHashEntity entity) { Hashtable htalbe = entity.PropertySet; if (htalbe[entity.PKeyName] == null) { throw new Exception("实体没有主键不能用此方法更新"); } SqlFactory sql = new SqlFactory(entity.TableName, SqlType.UPDATE); foreach (string colName in entity.ColNames) { if (colName != entity.PKeyName && htalbe[colName] != System.DBNull.Value && htalbe[colName] != null) { switch (SqlFactory.GetColType(htalbe[colName].GetType())) { case 1: sql.AppendQuote(colName, htalbe[colName]); break; case 2: sql.Append(colName, htalbe[colName]); break; default: sql.Append(colName, htalbe[colName]); break; } } } switch (SqlFactory.GetColType(htalbe[entity.PKeyName].GetType())) { case 1: sql.AppendWhereQuote(entity.PKeyName, htalbe[entity.PKeyName]); break; case 2: sql.AppendWhere(entity.PKeyName, htalbe[entity.PKeyName]); break; default: sql.AppendWhere(entity.PKeyName, htalbe[entity.PKeyName]); break; } return(sql.CreateSQL()); }