コード例 #1
0
        protected override int InsertAndReturnNewID(System.Data.IDbConnection conn, IQMap.ISqlQuery query, System.Data.IDbTransaction transaction = null, System.Data.CommandBehavior commandBehavior = System.Data.CommandBehavior.Default)
        {
            //var newQuery= new SqlQueryDef(, query.Parameters);

            var newQ= new IQMap.SqlQueryBuilder.Impl.SqlQueryDef( query.GetQuery() + "", query.Parameters);
            int result = 0;

            using (var cmd = GetCommand(conn, newQ, transaction))
            {

                ExecuteSqlFinal(new Action(() =>
                {
                    cmd.ExecuteNonQuery();
                }));

                cmd.Parameters.Clear();
                cmd.CommandText = "SELECT @@IDENTITY;";
                result = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
            }
            if (commandBehavior == CommandBehavior.CloseConnection)
            {
                conn.Close();
            }
            OnQueryComplete();
            return result;
        }
コード例 #2
0
        protected override int InsertAndReturnNewID(System.Data.IDbConnection conn, IQMap.ISqlQuery query, System.Data.IDbTransaction transaction = null, System.Data.CommandBehavior commandBehavior = System.Data.CommandBehavior.Default)
        {
            //var newQuery= new SqlQueryDef(, query.Parameters);

            var newQ   = new IQMap.SqlQueryBuilder.Impl.SqlQueryDef(query.GetQuery() + "", query.Parameters);
            int result = 0;

            using (var cmd = GetCommand(conn, newQ, transaction))
            {
                ExecuteSqlFinal(new Action(() =>
                {
                    cmd.ExecuteNonQuery();
                }));

                cmd.Parameters.Clear();
                cmd.CommandText = "SELECT @@IDENTITY;";
                result          = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
            }
            if (commandBehavior == CommandBehavior.CloseConnection)
            {
                conn.Close();
            }
            OnQueryComplete();
            return(result);
        }