国货——达梦数据库及在.Net 下的增删改查
国货——达梦数据库及在.Net 下的增删改查 Posted on 2012-04-11 14:07 徐明祥 阅读(1282) 评论(15) 编辑 收藏
一,简介
偶然看到了国产数据库——达梦数据库。顿时起了兴趣,捣鼓了一番。
下面这段简介摘自百度百科
达梦数据库是武汉华工达梦数据库有限公司推出的具有完全自主知识产权的高性能数据库产品。它采用 “ 三权分立 ” 的安全管理机制,安全级别达到 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 也有所不同,要在“表”前加上“模式”。如:
select * from SYSDBA.Users
当然你也可以不加,直接像在SQLServer 里那样,写成
select * from Users
这时它会默认使用SYSDBA模式。
四,使用 C# 对达梦数据库进行 CRUD 操作
达梦数据库提供了很多驱动,包括.Net 。在达梦数据的安装目录找到 \dmdbms\bin\ DmProvider.dll 程序集,这就是.Net 操作达梦数据库的驱动程序。我们用VS建个Demo 引用这个dll。增删改查的演示代码如下:
using Dm;
/// <summary>
/// 获得数据库链接
/// </summary>
/// <returns></returns>
public DmConnection GetConn()
{
string strconn = " server=localhost;database=Cnblogs;User Id=SYSDBA;PWD=SYSDBA " ;
DmConnection conn = new DmConnection(strconn);
conn.Open();
return conn;
}
// 插入数据
public void Insert()
{
DmConnection conn = GetConn();
string strCmd = " Insert into SYSDBA.Users(Name,Sex,Age)values('xumingxiang','man',25) " ;
DmCommand cmd = new DmCommand(strCmd, conn);
int effect = cmd.ExecuteNonQuery();
conn.Close(); // 关闭数据库链接
}
/// <summary>
/// 删除数据
/// </summary>
public void Update()
{
DmConnection conn = GetConn();
string strCmd = " update SYSDBA.Users set Age=100 where Id=1 " ;
DmCommand cmd = new DmCommand(strCmd, conn);
int effect = cmd.ExecuteNonQuery();
conn.Close();
}
/// <summary>
/// 删除数据
/// </summary>
public void Delete()
{
DmConnection conn = GetConn();
string strCmd = " delete from SYSDBA.Users where Id=1 " ;
DmCommand cmd = new DmCommand(strCmd, conn);
int effect = cmd.ExecuteNonQuery();
conn.Close();
}
/// <summary>
/// 用ExecuteReader查询数据
/// </summary>
public void QueryByExecuteReader()
{
DmConnection conn = GetConn();
string strCmd = " select * from SYSDBA.Users " ;
DmCommand cmd = new DmCommand(strCmd, conn);
DmDataReader dr = cmd.ExecuteReader();
int id;
string name;
string sex;
int age;
while (dr.Read())
{
id = dr.GetInt32( 0 );
name = dr.GetString( 1 );
sex = dr.GetString( 2 );
age = dr.GetInt32( 3 );
}
}
/// <summary>
/// 用DataAdapter 查询数据,返回DataSet
/// </summary>
public DataSet QueryByDataAdapter()
{
DmConnection conn = GetConn();
string strCmd = " select * from SYSDBA.Users " ;
DmDataAdapter da = new DmDataAdapter(strCmd,conn);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
在上面的代码中,我们可看到对达梦数据库进行增删改查和操作 SQLServer 差不多。要说区别,那就是多个“模式”的概念。
由于只是兴趣使然,只是简单的尝尝鲜,我没有对其性能、负载等方面做测试,也没打算用它做实际项目。等以后有空了在继续捣鼓它吧。不说他好也不说他坏,在精神上支持一下国货吧!
原文地址: http://www.cnblogs.com/xumingxiang/archive/2012/04/11/2442271.html
作者 : 徐明祥
出处: http://www.cnblogs.com/xumingxiang
版权:本文版权归作者和博客园共有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
http://www.cnblogs.com/xumingxiang/archive/2012/04/11/2442271.html
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于国货——达梦数据库及在.Net 下的增删改查的详细内容...