达梦数据库及在.Net下的增删改查

一、简介

 

偶然看到了国产数据库——达梦数据库。顿时起了兴趣,捣鼓了一番。

 

下面这段简介摘自百度百科

达梦数据库是武汉华工达梦数据库有限公司推出的具有完全自主知识产权的高性能数据库产品。它采用“三权分立”的安全管理机制,安全级别达到B1级,并在大数据量存储管理、并发控制、数据查询优化处理、事务处理、备份与恢复和支持SMP系统等诸多方面都有突破性进展和提高。更多介绍:http://baike.baidu.com/view/581717.htm

 

达梦数据库有免费版和收费版(感觉国人就是有点急功近利)。

免费版下载地址:http://www.dameng.com/dmweb/article.do?type=category&articleid=57021

有Windouws版和Linux版。

 

二、安装

 

我这里选择Windows版下载,当前版本6.2,UI还是做得很漂亮的。

安装过程很简单,一路“下一步”就行了:

2.1) 选择语言版本

 

2.2) 选择验证Key文件,免费版的下载包里提供了验证文件。

 

2.3)设置初始化参数

 

2.4)修改数据库口令(密码),当然也可以无视它。默认密码是: SYSDBA

 

 

三、使用

 

3.1) 打开管 “理工具Manager”登陆

 

输入安装时设置的口令,如果安装时没有修改口令,则输入初试默认口令“SYSDBA”

3.2) 登陆进去后看到系统默认有两个数据库“SYSTEM”、“BOOKSHOP”。这里我自己新建了一个叫“Cnblogs”的数据库。新建很简单,和操作SQLServer差不多。

 

3.3) 点开“cnblogs”节点,会发现,它不像SQLServer那样,下面直接是“表”、“视图”等。

它下面是“模式”,一个数据库可以有多个模式,模式下面才会有“表”、“视图”等等。

 

模式用来代表特定数据库中的一个对象集,在概念上可将其看作是包含表、视图、索引和权限定义的对象集合。一个模式只作用于一个数据库,不同的数据库可以有同名模式。

我在模式“SYSDBA”下面建了个“Users”表。

3.4) 达梦SQL

因为达梦数据库有一个“模式”的概念,因此它的查询语句和SQLServer 也有所不同,要在“表”前加上“模式”。如:

  1. select  *  from  SYSDBA.Users 

 当然你也可以不加,直接像在SQLServer 里那样,写成

  1. select * from  Users  

这时它会默认使用SYSDBA模式。

四、使用C#对达梦数据库进行CRUD操作

达梦数据库提供了很多驱动,包括.Net 。在达梦数据的安装目录找到 \dmdbms\bin\ DmProvider.dll 程序集,这就是.Net 操作达梦数据库的驱动程序。我们用VS建个Demo 引用这个dll。增删改查的演示代码如下:

  1. using Dm;  
  2.  
  3. /// <summary>  
  4. /// 获得数据库链接  
  5. /// </summary>  
  6. /// <returns></returns>  
  7. public DmConnection GetConn()  
  8. {  
  9.     string strconn = "server=localhost;database=Cnblogs;User Id=SYSDBA;PWD=SYSDBA";  
  10.     DmConnection conn = new DmConnection(strconn);  
  11.     conn.Open();  
  12.     return conn;  
  13. }  
  14.  
  15. //插入数据  
  16. public void Insert()  
  17. {  
  18.     DmConnection conn = GetConn();  
  19.     string strCmd = "Insert into  SYSDBA.Users(Name,Sex,Age)values('xumingxiang','man',25)";  
  20.     DmCommand cmd = new DmCommand(strCmd, conn);  
  21.     int effect = cmd.ExecuteNonQuery();  
  22.     conn.Close();//关闭数据库链接  
  23. }  
  24.  
  25. /// <summary>  
  26. /// 删除数据  
  27. /// </summary>  
  28. public void Update()  
  29. {  
  30.     DmConnection conn = GetConn();  
  31.     string strCmd = "update  SYSDBA.Users set Age=100 where Id=1";  
  32.     DmCommand cmd = new DmCommand(strCmd, conn);  
  33.     int effect = cmd.ExecuteNonQuery();  
  34.     conn.Close();  
  35. }  
  36.  
  37. /// <summary>  
  38. /// 删除数据  
  39. /// </summary>  
  40. public void Delete()  
  41. {  
  42.     DmConnection conn = GetConn();  
  43.     string strCmd = "delete from  SYSDBA.Users  where Id=1";  
  44.     DmCommand cmd = new DmCommand(strCmd, conn);  
  45.     int effect = cmd.ExecuteNonQuery();  
  46.     conn.Close();  
  47. }  
  48.  
  49. /// <summary>  
  50. /// 用ExecuteReader查询数据  
  51. /// </summary>  
  52. public void QueryByExecuteReader()  
  53. {  
  54.     DmConnection conn = GetConn();  
  55.     string strCmd = "select * from  SYSDBA.Users ";  
  56.     DmCommand cmd = new DmCommand(strCmd, conn);  
  57.     DmDataReader dr = cmd.ExecuteReader();  
  58.  
  59.     int id;  
  60.     string name;  
  61.     string sex;  
  62.     int age;  
  63.     while (dr.Read())  
  64.     {  
  65.         id = dr.GetInt32(0);  
  66.         name = dr.GetString(1);  
  67.         sex = dr.GetString(2);  
  68.         age = dr.GetInt32(3);  
  69.     }  
  70. }  
  71.  
  72.  
  73. /// <summary>  
  74. ///用DataAdapter 查询数据,返回DataSet  
  75. /// </summary>  
  76. public DataSet QueryByDataAdapter()  
  77. {  
  78.     DmConnection conn = GetConn();  
  79.     string strCmd = "select * from  SYSDBA.Users ";  
  80.     DmDataAdapter da = new DmDataAdapter(strCmd,conn);  
  81.     DataSet ds = new DataSet();  
  82.     da.Fill(ds);  
  83.     return ds;  

在上面的代码中,我们可看到对达梦数据库进行增删改查和操作SQLServer 差不多。要说区别,那就是多个“模式”的概念。

 

由于只是兴趣使然,只是简单的尝尝鲜,我没有对其性能、负载等方面做测试,也没打算用它做实际项目。等以后有空了在继续捣鼓它吧。不说他好也不说他坏,在精神上支持一下国货吧!

原文地址:http://www.cnblogs.com/xumingxiang/archive/2012/04/11/2442271.html

【编辑推荐】

  1. 11个重要的数据库设计规则
  2. 让数据库变快的10个建议
  3. 20个数据库设计***实践
  4. 超越MySQL 对流行数据库进行分支
  5. 2012,国产数据库将迎发展春天

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/275780.html<

(0)
管理的头像管理
上一篇2025-05-10 08:45
下一篇 2025-05-10 08:46

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注