.net 连接达梦数据库开发环境部署

.net 开发环境部署

  1. 环境准备

|-------|-------------------|
| 测试工具 | Visual Studio2022 |
| 数据库版本 | dm8 |

  1. 搭建过程
    1 )创建新项目

    2 )选择创建空项目

    3 )配置新项目

    4 )右键 DM1 新建一个项


    5 )加 载 驱 动 , 新 建 添 加 引 用 , DmProvider.dll , 在 达 梦 数 据 库 安 装 目 录
    \drivers\dotNet\DmProvider 文件夹


    6 )代码中添加引用

    需注意在该项目应使用 里的 DmProvider.dll ,否则程序会报
    项目中引用的程序集之间存在版本冲突的错,具体来说,该项目引用了一个需要较高版本的 System.Runtime 程序集,而另一个程序集( DmProvider )引用的是一个较低版本的 System.Runtime 程序集。这种情况可能会导致编译或运行时出现问
    题。

|--------|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----|-------------------------|---|--------|
| 严重性 | 代码 | 说明 | 项目 | 文件 | 行 | 禁止显示状态 |
| 错误(活动) | CS1705 | 标识为"DmProvider, Version=1.1.0.20739, Culture=neutral, PublicKeyToken=7a2d44aa446c6d01"的程序集"DmProvider"所使用的"System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"版本高于所引用的标识为"System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"的程序集"System.Runtime" | dm | D:\.net\DM1\DM1\CSC | 1 | |

7 )添加 System 、 System.Data

8 )运行示例代码
运行代码前需要选择正确的启动对象才能启动成功,启动对象名应为想要启动的
文件的文件名

运行示例代码遇到报错,暂无法解决

  1. .NET操作数据库代码

一段完整的达梦数据库实现增删改查的代码如下:

1)数据库连接

DmConnection conn = new DmConnection();:创建了一个 DmConnection 类的实例 conn,用于数据库连接。conn.ConnectionString = "Server=192.168.104.21:5236; UserId=SYSDBA; PWD=SYSDBA;";:设置数据库连接字符串,指定了数据库服务器的地址、用户名和密码。conn.Open();:打开数据库连接。

通过设置cmd文本属性指定要执行的sql命令,即图中第一行,然后对cmd对象中的命令进行执行,即第二行,最后Console.WriteLine("dmprovider: insert success!");:在控制台输出一条消息,表示插入数据操作成功完成,输出的内容为 "dmprovider: insert success!"。

  1. 删,改

同增所述,都是先指定cmd的文本属性进行执行命令,然后通过cmd窗口打印输出结果

查代码和增删改不一样,需要对数据做出展示,所以在执行SQL查询命令后,需要返回一个数据读取器对象 reader,用于逐行读取查询结果,即DmDataReader reader = (DmDataReader)cmd.ExecuteReader()。然后通过string name = reader.GetString(0);:从数据读取器中获取第一个字段的值,将其存储在字符串变量 name 中。

Console.WriteLine("name:" + name);:在控制台输出每行数据的 name 字段值,格式为 "name: 值"。最后关闭数据读取器,打印查询成功的消息。

eco.dameng.com

相关推荐
知行合一。。。26 分钟前
DeepAgents--01--Agent和OpenClaw的相关概念
android·数据库
c238561 小时前
# Mini OJ — 项目详解文档
开发语言·数据库·c++
DFT计算杂谈1 小时前
C4T交错磁体中的超导交织序向列涨落与自旋流环涨落的选择机制
大数据·数据库·人工智能
2601_965798471 小时前
My Honest Review of Rank Math SEO Pro for Beginner Sites
数据库·人工智能·php
starzy19901 小时前
Soloop 智能视频创作全流程实战指南
数据库·microsoft·音视频
2601_963282772 小时前
极寒场景专网通信技术实践:黑龙江零下 40℃环境数字对讲组网方案落地解析
大数据·运维·数据库
聆风吟º3 小时前
【金仓数据库征文】Java 应用接入金仓数据库:从驱动、连接池到存储过程调试的踩坑实录
java·开发语言·数据库
程序员-Benothing5 小时前
MySQL 的覆盖索引是什么?
数据库·mysql
数翊科技6 小时前
权威认可!HexaDB海纳分布式HTAP数据库通过CCRC EAL4增强级认证
数据库
星恒讯工业路由器6 小时前
MIMO与多天线技术:从5G到WiFi的工程解析
数据库·mysql·5g·工业物联网·mimo技术·天线隔离度·5g/wifi多天线