using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FirebirdSql.Data.FirebirdClient;
using FireBirdUtil.SqlUtils;
namespace FireBirdUtil.SqlHelpers
{
public class InsertHelper
{
private string _Database;
private FbConnection _Connection;
private FbTransaction _Transaction;
///
/// 用于直接插入数据
///
public InsertHelper(string database)//用于直接插入数据
{
#if DEBUG
if (string.IsNullOrEmpty(database))
throw new ArgumentException("构造函数参数不允许为空");
#endif
_Database = database;
}
///
/// 既可用于在事务中,插入数据,也可用于直接插入数据.之所以加上database参数,是为了直接插入数据时使用
///
public InsertHelper(string database, FbConnection connection, FbTransaction transaction)//既可用于在事务中,插入数据,也可用于直接插入数据.之所以加上database参数,是为了直接插入数据时使用
: this(database)
{
#if DEBUG
if (connection == null || transaction == null)
throw new ArgumentException("构造函数的参数不允许为空");
#endif
_Connection = connection;
_Transaction = transaction;
}
public void Insert(string tableName, IDictionary fieldsValues)
{
if (_Connection == null || _Transaction == null)
SQLExecuteUtil.Insert(_Database, tableName, fieldsValues);
else
SQLExecuteUtil_Transaction.Insert(_Connection, _Transaction, tableName, fieldsValues);
}
}
}