using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FirebirdSql.Data.FirebirdClient;
using FireBirdUtil.SqlUtils;
namespace FireBirdUtil.SqlHelpers
{
public class UpdateHelper
{
private string _Database;
private FbConnection _Connection;
private FbTransaction _Transaction;
///
/// 用于直接更新数据
///
public UpdateHelper(string database)//用于直接更新数据
{
#if DEBUG
if (string.IsNullOrEmpty(database))
throw new ArgumentException("构造函数参数不允许为空");
#endif
_Database = database;
}
///
/// 既可用于在事务中,更新数据,也可用于直接更新数据.之所以加上database参数,是为了直接更新数据时使用
///
public UpdateHelper(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 Update(string tableName, Dictionary newValues, string conditions)
{
if (_Connection == null || _Transaction == null)
SQLExecuteUtil.Update(_Database, tableName, newValues, conditions);
else
SQLExecuteUtil_Transaction.Update(_Connection, _Transaction, tableName, newValues, conditions);
}
}
}