|
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- using CnasSynchronousCommon;
- using Dm;
-
- namespace CnasSynchronusDAL
- {
- public static class DamengHelper
- {
- private static String mConnStr = null;
- public static String ServerHost = null;
-
- public static void InitConnectionString(string strServerIP, string strServerPort, string strServerHost, string strServerUser, string strServerPwd)
- {
- ServerHost = strServerHost;
- mConnStr = $"Server={strServerIP};Port={strServerPort};Database={strServerHost};User Id={strServerUser};Password={strServerPwd};";
- }
-
- public static void InitConnectionString(string strConnectiong)
- {
- mConnStr = strConnectiong;
- }
-
- /// <summary>
- /// 对达梦数据库执行增删改操作,返回受影响的行数。
- /// </summary>
- /// <param name="sql">要执行的增删改的SQL语句</param>
- /// <returns></returns>
- public static int ExecuteNonQuery(String sql)
- {
- DmConnection connection = new DmConnection(mConnStr);
- try
- {
- using (connection)
- {
- connection.Open();
- DmTransaction transaction = (DmTransaction)connection.BeginTransaction();
-
- using (DmCommand cmd = new DmCommand())
- {
- try
- {
- PrepareCommand(cmd, connection, transaction, CommandType.Text, sql, null);
-
- int rows = cmd.ExecuteNonQuery();
- transaction.Commit();
-
- cmd.Parameters.Clear();
- return rows;
- }
- catch (DmException e1)
- {
- try
- {
- transaction.Rollback();
- }
- catch (Exception e2)
- {
- AppLog.Error(e2.Message);
- throw;
- }
- AppLog.Error(e1.Message);
- throw;
- }
- }
- }
- }
- catch (Exception e)
- {
- AppLog.Error(e.Message);
- throw;
- }
- }
-
- /// <summary>
- /// 执行查询,返回DataSet
- /// </summary>
- /// <param name="sql">要执行的查询SQL语句</param>
- /// <returns></returns>
- public static DataSet ExecuteDataSet(String sql)
- {
- DmConnection connection = new DmConnection(mConnStr);
- try
- {
- using (connection)
- {
- connection.Open();
- DmTransaction transaction = (DmTransaction)connection.BeginTransaction();
-
- using (DmCommand cmd = new DmCommand())
- {
- try
- {
- PrepareCommand(cmd, connection, transaction, CommandType.Text, sql, null);
-
- DmDataAdapter adapter = new DmDataAdapter();
- adapter.SelectCommand = cmd;
- DataSet ds = new DataSet();
-
- adapter.Fill(ds);
- transaction.Commit();
-
- cmd.Parameters.Clear();
- return ds;
- }
- catch (DmException e1)
- {
- try
- {
- transaction.Rollback();
- }
- catch (Exception e2)
- {
- AppLog.Error(e2.Message);
- throw;
- }
- AppLog.Error(e1.Message);
- throw;
- }
- }
- }
- }
- catch (Exception e)
- {
- AppLog.Error(e.Message);
- throw;
- }
- }
-
- /// <summary>
- /// 执行查询,返回DataTable
- /// </summary>
- /// <param name="sqlText"></param>
- /// <param name="parameters"></param>
- /// <returns></returns>
- public static DataTable ExecuteDataTable(string sqlText, params DmParameter[] parameters)
- {
- DataTable dt = null;
- try
- {
- using (DmDataAdapter adapter = new DmDataAdapter(sqlText, mConnStr))
- {
- dt = new DataTable();
- adapter.Fill(dt);
- }
- }
- catch (Exception ex)
- {
- AppLog.Error(ex.Message);
- throw;
- }
- return dt;
- }
-
- private static void PrepareCommand(DmCommand cmd, DmConnection conn, DmTransaction trans, CommandType cmdType, string cmdText, DmParameter[] cmdParms)
- {
- if (conn.State != ConnectionState.Open)
- conn.Open();
-
- cmd.Connection = conn;
- cmd.CommandText = cmdText;
-
- if (trans != null)
- cmd.Transaction = trans;
-
- cmd.CommandType = cmdType;
-
- if (cmdParms != null)
- {
- foreach (DmParameter parm in cmdParms)
- cmd.Parameters.Add(parm);
- }
- }
-
- /// <summary>
- /// 测试数据库连接
- /// </summary>
- /// <returns></returns>
- public static bool TestConnectDameng()
- {
- bool bIfSuccess = false;
- try
- {
- using (DmConnection connection = new DmConnection(mConnStr))
- {
- connection.Open();
-
- if (connection.State == ConnectionState.Open)
- bIfSuccess = true;
- }
- }
- catch (Exception ex)
- {
- AppLog.Error(ex.Message);
- bIfSuccess = false;
- }
-
- return bIfSuccess;
- }
-
- /// <summary>
- /// 对达梦数据库执行增删改操作,返回受影响的行数。
- /// </summary>
- /// <param name="sql">要执行的增删改的SQL语句</param>
- /// <param name="parameters">SQL参数数组</param>
- /// <returns>受影响的行数</returns>
- public static int ExecuteNonQuery(String sql, DmParameter[] parameters)
- {
- DmConnection connection = new DmConnection(mConnStr);
- try
- {
- using (connection)
- {
- connection.Open();
- DmTransaction transaction = (DmTransaction)connection.BeginTransaction();
-
- using (DmCommand cmd = new DmCommand())
- {
- try
- {
- PrepareCommand(cmd, connection, transaction, CommandType.Text, sql, parameters);
-
- int rows = cmd.ExecuteNonQuery();
- transaction.Commit();
-
- cmd.Parameters.Clear();
- return rows;
- }
- catch (DmException e1)
- {
- try
- {
- transaction.Rollback();
- }
- catch (Exception e2)
- {
- AppLog.Error(e2.Message);
- throw;
- }
- AppLog.Error(e1.Message);
- throw;
- }
- }
- }
- }
- catch (Exception e)
- {
- AppLog.Error(e.Message);
- throw;
- }
- }
- }
- }
|