public static int Update <T>(IConnection conn, T entity, ICriteria <T> criteria) where T : EntityBase { SQLBuilder sql = new TSQLBuilder(); string sqlStatement = string.Empty; try { sql.BuildUpdate(SQLSyntax.Update, entity.Mapping); sql.BuildUpdate(SQLSyntax.Set, entity.UpdateContent); Dictionary <SQLSyntax, string> sqlSyntaxDictionary = TranslateCriteria <T>(criteria); foreach (var item in sqlSyntaxDictionary) { sql.BuildUpdate(item.Key, item.Value); } //if (entity.NeedAudit) Audit<T>(conn, entity, SQLSyntax.Update); sqlStatement = sql.Update; return(conn.ExecuteNonQuery(sqlStatement)); } catch (Exception ex) { throw new Exception(ex.Message + "{" + sqlStatement + "}"); } finally { } }
public static string QueryBy <T>(IConnection pConn, string pField, string pCondition) where T : EntityBase, new() { T dataObject = new T(); IDataReader reader = null; SQLBuilder sql = new TSQLBuilder(); string value = string.Empty; try { sql.BuildQuery(SQLSyntax.Select, pField); sql.BuildQuery(SQLSyntax.From, (new T()).Mapping); sql.BuildUpdate(SQLSyntax.Where, pCondition); reader = pConn.ExecuteReader(sql.Query); if (reader.Read()) { value = reader[0].ToString().Trim(); } } catch (Exception ex) { throw ex; } finally { if ((reader != null) || (!reader.IsClosed)) { reader.Close(); } } return(value); }
public static List <T> QueryMultiBy <T>(IConnection pConn, string pCondition) where T : EntityBase, new() { List <T> dataObjectList = new List <T>(); IDataReader reader = null; SQLBuilder sql = new TSQLBuilder(); try { sql.BuildQuery(SQLSyntax.Select, (new T()).Fields); sql.BuildQuery(SQLSyntax.From, (new T()).Mapping); sql.BuildUpdate(SQLSyntax.Where, pCondition); reader = pConn.ExecuteReader(sql.Query); while (reader.Read()) { T dataObject = new T(); ORMapping(dataObject, reader); dataObjectList.Add(dataObject); } } catch (Exception ex) { throw ex; } finally { if ((reader != null) || (!reader.IsClosed)) { reader.Close(); } } return(dataObjectList); }
public static T QueryByKey <T>(IConnection conn, string keyValue) where T : EntityBase, new() { T dataObject = new T(); IDataReader reader = null; SQLBuilder sql = new TSQLBuilder(); try { sql.BuildQuery(SQLSyntax.Select, (new T()).Fields); sql.BuildQuery(SQLSyntax.From, (new T()).Mapping); sql.BuildUpdate(SQLSyntax.Where, (new T()).GetKeyCondition(keyValue)); reader = conn.ExecuteReader(sql.Query); if (reader.Read()) { ORMapping(dataObject, reader); } } catch (Exception ex) { throw ex; } finally { if ((reader != null) || (!reader.IsClosed)) { reader.Close(); } } return(dataObject); }
// Parameter with Transaction or NOT public static int Update <T>(IConnection conn, T entity, bool transact) where T : EntityBase { SQLBuilder sql = new TSQLBuilder(); string sqlStatement = string.Empty; try { sql.BuildUpdate(SQLSyntax.Update, entity.Mapping); sql.BuildUpdate(SQLSyntax.Set, entity.UpdateContent); sql.BuildUpdate(SQLSyntax.Where, entity.KeyCondition); sqlStatement = sql.Update; if (transact) { conn.BeginTransaction(); int result = conn.ExecuteNonQuery(sqlStatement); if (result == 0) { conn.Rollback(); } else { conn.Commit(); } return(result); } else { return(conn.ExecuteNonQuery(sqlStatement)); } } catch (Exception ex) { throw new Exception(ex.Message + "{" + sqlStatement + "}"); } finally { } }
public static int Update <T>(IConnection conn, T entity) where T : EntityBase { SQLBuilder sql = new TSQLBuilder(); string sqlStatement = string.Empty; try { sql.BuildUpdate(SQLSyntax.Update, entity.Mapping); sql.BuildUpdate(SQLSyntax.Set, entity.UpdateContent); sql.BuildUpdate(SQLSyntax.Where, entity.KeyCondition); //if (entity.NeedAudit) Audit<T>(conn, entity, SQLSyntax.Update); sqlStatement = sql.Update; return(conn.ExecuteNonQuery(sqlStatement)); } catch (Exception ex) { throw new Exception(ex.Message + "{" + sqlStatement + "}"); } finally { } }