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