コード例 #1
0
        /// <summary>
        /// 插入数据
        /// </summary>
        /// <typeparam name="valueType">数据类型</typeparam>
        /// <typeparam name="modelType">模型类型</typeparam>
        /// <param name="sqlTool">SQL操作工具</param>
        /// <param name="value">待插入数据</param>
        /// <param name="memberMap">目标成员位图</param>
        /// <returns>是否成功</returns>
        protected override bool insert <valueType, modelType>
            (fastCSharp.emit.sqlTable.sqlTool <valueType, modelType> sqlTool, valueType value, fastCSharp.code.memberMap <modelType> memberMap)
        {
            DbConnection connection = GetConnection(false);

            if (connection != null)
            {
                byte isExecute = 0;
                try
                {
                    subArray <valueType> values = subArray <valueType> .Unsafe(new valueType[] { value }, 0, 1);

                    import(connection, sqlTool.GetDataTable(ref values));
                    return(true);
                }
                catch (Exception error)
                {
                    fastCSharp.log.Error.Add(error, null, false);
                }
                finally
                {
                    if (isExecute == 0)
                    {
                        connection.Dispose();
                    }
                    else
                    {
                        pushConnection(ref connection, false);
                    }
                }
            }
            return(false);
        }
コード例 #2
0
            /// <summary>
            /// 添加数据
            /// </summary>
            internal override void Insert()
            {
                DbConnection connection = client.GetConnection(false);

                if (connection != null)
                {
                    try
                    {
                        subArray <valueType> values = subArray <valueType> .Unsafe(new valueType[] { value }, 0, 1);

                        if (client.import(connection, sqlTool.GetDataTable(ref values)) != 0)
                        {
                            client.ConnectionPool.Push(ref connection);
                        }
                        else
                        {
                            value = null;
                        }
                    }
                    catch (Exception error)
                    {
                        value = null;
                        fastCSharp.log.Error.Add(error, sqlTool.TableName, false);
                    }
                    if (connection != null)
                    {
                        connection.Dispose();
                    }
                }
                else
                {
                    value = null;
                }
                push();
            }
コード例 #3
0
            /// <summary>
            /// 导入数据
            /// </summary>
            internal override void Insert()
            {
                DbConnection connection = client.GetConnection(false);

                if (connection != null)
                {
                    try
                    {
                        sqlTool.SetIdentity(ref values);
                        if (client.import(connection, sqlTool.GetDataTable(ref values)) != 0)
                        {
                            client.ConnectionPool.Push(ref connection);
                        }
                        else
                        {
                            values.Null();
                        }
                    }
                    catch (Exception error)
                    {
                        values.Null();
                        fastCSharp.log.Error.Add(error, sqlTool.TableName, false);
                    }
                    if (connection != null)
                    {
                        connection.Dispose();
                    }
                }
                else
                {
                    values.Null();
                }
                push();
            }