예제 #1
0
파일: INFORMIX.cs 프로젝트: Wooyme/HIS-1
        /// <summary>
        /// 执行插入一条记录 适用于有 自动生成标识的列
        /// </summary>
        /// <param name="commandText">SQL语句字符串</param>
        /// <param name="identity">自动增长列在插入记录是产生的序号</param>
        /// <param name="timeOut">超时限制</param>
        /// <returns></returns>
        public override int InsertRecord(string commandText, out object identity, int timeOut)
        {
            if (GetIdentityString() == null)
            {
                throw new EntityException("无法取得自增长列ID");
            }
            int result = 0;

            IBM.Data.Informix.IfxCommand cmd = new IBM.Data.Informix.IfxCommand(commandText);
            if (isInTransaction)
            {
                cmd.Transaction = (IBM.Data.Informix.IfxTransaction)transaction;
            }
            cmd.Connection = (IBM.Data.Informix.IfxConnection)connection;
            if (timeOut > 30)
            {
                cmd.CommandTimeout = timeOut;
            }
            try
            {
                result          = cmd.ExecuteNonQuery();
                cmd.CommandText = GetIdentityString();
                identity        = Convert.ToInt32(cmd.ExecuteScalar());
                return(result);
            }
            catch (Exception err)
            {
                throw new EntityException(err.Message);
            }
            finally
            {
                cmd.Dispose();
                cmd = null;
            }
        }
예제 #2
0
파일: INFORMIX.cs 프로젝트: Wooyme/HIS-1
        /// <summary>
        /// 执行一个语句,返回执行情况
        /// </summary>
        /// <param name="commandText">SQL语句字符串</param>
        /// <param name="timeOut">超时限制</param>
        /// <returns></returns>
        public override int DoCommand(string commandText, int timeOut)
        {
            int result = 0;

            IBM.Data.Informix.IfxCommand cmd = new IBM.Data.Informix.IfxCommand(commandText);
            if (isInTransaction)
            {
                cmd.Transaction = (IBM.Data.Informix.IfxTransaction)transaction;
            }
            cmd.Connection = (IBM.Data.Informix.IfxConnection)connection;
            if (timeOut > 30)
            {
                cmd.CommandTimeout = timeOut;
            }
            try
            {
                result = cmd.ExecuteNonQuery();
                return(result);
            }
            catch (Exception err)
            {
                throw new EntityException(err.Message);
            }
            finally
            {
                cmd.Dispose();
                cmd = null;
            }
        }