Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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();
            }
        }