基于达梦数据库开发-C#篇

文章目录


前言

达梦数据库是国产的新一代大型通用关系型数据库,全面支持 SQL 标准和主流编程语言接口/开发框架。其中.NET Data Provider 是 .NET Framework 编程环境下的访问达梦数据库的编程接口,用于连接数据库、执行相关数据库操作。本文将以简单的C#演示工程展示如何获取达梦数据库相关记录信息。


一、相关准备

  • 确保具有可访问的达梦数据库及相关对象

    本文在本地建立了相关的达梦数据库,并创建了对象账号TESTDM,并在该账户下建立相关的表T_CITY_T。表T_CITY_T相关记录如下

  • 搭建.NET工程,根据相关的.NET框架选择复制对应的类库

    达梦支持的.NET框架有NET20, NET40, NET45,NET50,NET60,NETSTANDARD2.0,NETCOREAPP2.1以及NETCOREAPP3.1,相关的DmProvider.dll 都在达梦数据库的dmdbms\drivers\dotNet 路径下的子文件中 ,本文采用NET40下的DmProvider.dll 搭建相关的演示工程

二、主要代码

1.引入达梦类库

当工程引入类库后,在需要连接达梦数据库的cs文件的using区域采用如下方式开始引入达梦类库

csharp 复制代码
using Dm;

2.连接达梦数据库

使用DmProvider提供的DmConnection类建立达梦数据库的连接,示例代码如下

csharp 复制代码
 static DmConnection cnn = new DmConnection();
 cnn.ConnectionString = "Server=localhost;PORT=5236; User Id=testdm; PWD=123456;";
 cnn.Open();

其中ConnectionString 连接子串的Server参数配置具体的ip地址,PORT参数为达梦数据库建立时使用的端口号(默认端口为5236),User为达梦数据库的账号名称,PWD为达梦数据库的账号密码

3.DmCommand方式获取达梦数据库信息

DmProvider提供的DmCommand类来获取相关数据库记录信息,示例代码如下

csharp 复制代码
 DmCommand command = new DmCommand();
            command.Connection = cnn;
            string a;
            command.CommandText = "select * from TESTDM.T_CITY_T";
            var reader = command.ExecuteReader();
            while (reader.Read())
            {
                a = reader.GetString(0);
                Console.WriteLine(a);
            }
            reader.Close();

4.DmDataAdapter方式获取达梦数据库信息

DmProvider还提供的DmDataAdapter类来获取相关数据库记录信息,示例代码如下

csharp 复制代码
 DataTable dt = new DataTable();
            string sql = "select * from TESTDM.T_CITY_T";
            using (DmDataAdapter command1 = new DmDataAdapter(sql, cnn))
            {
                DataSet ds = new DataSet();
                command1.Fill(ds, "ds");
               
                dt = ds.Tables[0];
            }    
            foreach(DataRow  dr in dt.Rows)
            {
                Console.WriteLine("id:" + dr["CITY_ID"].ToString() + ",name:" + dr["CITY_NAME"].ToString());
            }

总结

本文简要讲述了如何使用C#获取达梦数据库记录信息,以示例形式展示了DmConnection、DmCommand、DmDataAdapter的简单使用,以vs2019编写的整体相关示例代码请见
VS2019开发的C#连接达梦简要示例

相关推荐
用户7884773163419 小时前
WinForms 迁移 WPF:Upgrade Assistant 覆盖 30%,剩下 70% 我手写了六周
c#
寂寞的船1 天前
【Unity知识速递】第13期 Unity 内存泄漏排查实战:从 Memory Profiler 到 Lua 引用泄漏的生产级全链路诊断
unity·junit·c#·游戏引擎·lua
用户3721574261352 天前
C# 提取 PDF 附件:包括文档附件和页面注释附件
c#
寂寞的船2 天前
【Unity Bug挑战】第12期 Awaitable 二次 await 死锁之谜 —— 为什么同一个异步操作等两次就卡死?
unity·c#·游戏引擎·bug
huaqianzkh3 天前
WinForm C#:循环修改控件UI闪烁卡顿?SuspendLayout / ResumeLayout 与 BeginUpdate 优化
开发语言·ui·c#
用户3721574261354 天前
C# 实现 Excel 单元格保护:锁定公式并允许编辑指定区域
c#·ai编程·编程语言
公子小六4 天前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
三雷科技4 天前
第6章第4节:自定义分词器
开发语言·c#
zhanghaha13144 天前
C# 系列教程_12 字符串 string 保姆级系统教程(面向新手,大量示例 + 原理讲解)
开发语言·数据库·c#
Coder_Shenshen5 天前
罗克韦尔ACD工程归档离线变量树解析
算法·c#