.net core连接dm达梦数据库。ado.net连接达梦数据库。连接达梦数据库sqlhelper封装。dm数据库参数化 电脑版发表于:2022/10/1 22:52 ### 先安装.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); ```