private void SaveObjectPrivate(PersistentObject obj, ClassMap cm, IPersistenceProvider rdb) { IDbCommand cmd; if (obj.IsPersistent) { cmd = cm.GetUpdateSqlFor(obj); if (rdb.DoCommand(cmd) < 1) { Assert.Fail(Error.ObjectUpdateFail, obj.GetClassName() + "Object update failed!"); } } else { cmd = cm.GetInsertSqlFor(obj); if (cm.Table.AutoIdentityIndex < 0) { rdb.DoCommand(cmd); } else { object id; rdb.InsertRecord(cmd, out id); obj.SetAttributeValue(cm.AutoIdentityAttribute, id); } } }
public void DeleteObject(PersistentObject obj, Transaction transaction) { ClassMap clsMap = GetClassMap(obj.GetClassName()); IPersistenceProvider rdb = transaction.GetPersistenceProvider(clsMap.Database.Name); if (rdb.DoCommand(clsMap.GetDeleteSqlFor(obj)) > 0) { obj.IsPersistent = false; } }
public static int ExecuteSQL(string strSQL, string dbName, int timeout, Transaction transaction) { IPersistenceProvider rdb = transaction.GetPersistenceProvider(dbName); IDbCommand cmd = rdb.GetCommand(); cmd.CommandText = strSQL; if (timeout >= 0) { cmd.CommandTimeout = timeout; } return(rdb.DoCommand(cmd)); }
public int Execute(IDbCommand cmd, string rdbName) { IPersistenceProvider rdb = null; if (rdbName == "") { rdb = GetDatabase().GetCopy(); } else { rdb = GetDatabase(rdbName).GetCopy(); } rdb.Open(); int intReturn = rdb.DoCommand(cmd); rdb.Close(); return(intReturn); }
public void DeleteObject(PersistentObject obj) { ClassMap clsMap = GetClassMap(obj.GetClassName()); IDbCommand cmd = clsMap.GetDeleteSqlFor(obj); IPersistenceProvider rdb = clsMap.PersistenceProvider.GetCopy(); try { rdb.Open(); if (rdb.DoCommand(clsMap.GetDeleteSqlFor(obj)) > 0) { obj.IsPersistent = false; } } catch (Exception ex) { this.ErrorHandle(ex, obj); } finally { rdb.Close(); } }