/// <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); }
/// <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(); }
/// <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(); }