原
.net core连接dm达梦数据库。ado.net连接达梦数据库。连接达梦数据库sqlhelper封装。dm数据库参数化

先安装.net core连接dm达梦数据库的依赖
<ItemGroup>
<PackageReference Include="FreeSql.Provider.Dameng" Version="3.2.680" />
</ItemGroup>
sqlhelper封装
using Dm;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
namespace WomanChildrenAdmin.DAL
{
public class SqlHelper
{
string connstr = "";
public SqlHelper()
{
//从配置文件读取连接字符串
//connstr = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
connstr = "Server=6.6.6.6;UserId=SYSDBA;PWD=123456;Database=Test";
}
public int Execute(string sql, List<DmParameter> param = null)
{
using (DmConnection conn = new DmConnection(connstr))
{
conn.Open();
using (DmCommand com = new DmCommand(sql, conn))
{
//参数化
if (param != null)
com.Parameters.AddRange(param.ToArray());
return com.ExecuteNonQuery();
}
}
}
public object ExecuteScalar(string sql, List<DmParameter> param = null)
{
using (DmConnection conn = new DmConnection(connstr))
{
conn.Open();
using (DmCommand com = new DmCommand(sql, conn))
{
//参数化
if (param != null)
com.Parameters.AddRange(param.ToArray());
return com.ExecuteScalar();
}
}
}
public DataTable QueryTable(string sql, List<DmParameter> param = null)
{
using (DmConnection conn = new DmConnection(connstr))
{
conn.Open();
using (DmCommand com = new DmCommand(sql, conn))
{
//参数化
if (param != null)
com.Parameters.AddRange(param.ToArray());
DataTable dt = new DataTable();
DmDataAdapter sda = new DmDataAdapter(com);
//把查询结果放入表格
sda.Fill(dt);
return dt;
}
}
}
}
}
注意dm达梦数据库参数化是使用:而不是和sqlserver一样的@
如下:
//注意这里列名也要加双引号不然提示列名找不到。参数化是使用:而不是和sqlserver一样的@
string sql = "select * from \"PERSON\".\"wac_users\" where \"username\"=:username";
List<DmParameter> paramList = new List<DmParameter>();
paramList.Add(new DmParameter(":username", wacUsersInput.username));
paramList.Add(new DmParameter("userpassword", wacUsersInput.userpassword));
DataTable dataTable = sqlHelper.QueryTable(sql, paramList);
评价