You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

50 lines
1.5 KiB

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;
/// <summary>
/// 用于直接插入数据
/// </summary>
public InsertHelper(string database)//用于直接插入数据
{
#if DEBUG
if (string.IsNullOrEmpty(database))
throw new ArgumentException("构造函数参数不允许为空");
#endif
_Database = database;
}
/// <summary>
/// 既可用于在事务中,插入数据,也可用于直接插入数据.之所以加上database参数,是为了直接插入数据时使用
/// </summary>
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<string, object> fieldsValues)
{
if (_Connection == null || _Transaction == null)
SQLExecuteUtil.Insert(_Database, tableName, fieldsValues);
else
SQLExecuteUtil_Transaction.Insert(_Connection, _Transaction, tableName, fieldsValues);
}
}
}