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.6 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 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);
}
}
}