c#程序访问达梦数据库
1、准备数据库驱动
达梦数据库安装完成后路径一般为:C:\dmdbms
找到 C:\dmdbms\drivers\dotNet\DmProvider;
我选择为.net 4.0 框架类库
2、程序引入DmProvider.dll
3、C#连接达梦数据库基础功公共类代码
using Dm;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/********************************************************************
** File Name: 数据访问基础类(基于达梦)
** Author: Luc
** Create Time: XXXX
** Modifier:
** Modify Time:
** Description: 用于连接达梦数据库
********************************************************************/
namespace XXXXX.Common
{
public abstract class DbHelperOra
{
public static string connectionString = string.Empty;
static DbHelperOra()
{
try
{
connectionString = ConfigurationManager.ConnectionStrings["dameng"].ToString();
}
catch (Exception)
{
throw new Exception(" 缺少数据库连接配置 ");
}
}
#region 公用方法
public static bool Exists(string strSql)
{
object obj = GetSingle(strSql);
int cmdresult;
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
cmdresult = 0;
}
else
{
cmdresult = int.Parse(obj.ToString());
}
if (cmdresult == 0)
{
return false;
}
else
{
return true;
}
}
public static bool Exists(string strSql, params DmParameter[] cmdParms)
{
object obj = GetSingle(strSql, cmdParms);
int cmdresult;
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
cmdresult = 0;
}
else
{
cmdresult = int.Parse(obj.ToString());
}
if (cmdresult == 0)
{
return false;
}
else
{
return true;
}
}
#endregion
#region 执行简单SQL语句
/// <summary>
/// 执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public static int ExecuteSql(string SQLString)
{
using (DmConnection connection = new DmConnection(connectionString))
{
using (DmCommand cmd = new DmCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (DmException E)
{
connection.Close();
throw new Exception(E.Message);
}
}
}
}
/// <summary>
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">多条SQL语句</param>
public static void ExecuteSqlTran(ArrayList SQLStringList)
{
using (DmConnection conn = new DmConnection(connectionString))
{
conn.Open();
DmCommand cmd = new DmCommand();
cmd.Connection = conn;
DbTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
for (int n = 0; n < SQLStringList.Count; n++)
{
string strsql = SQLStringList[n].ToString();
if (strsql.