Dotnet接口-达梦数据库增删改查

.NET Data Provider是.NET Framework编程环境下的数据库用户访问数据库的编程接口,用于连接到数据库、执行命令和检索结果。在数据源和代码之间创建了一个最小层,以便在不以功能为代价的前提下提高性能。

1.开发环境搭建

软件

版本

达梦数据库

DM 8.0 及以上版本

Visual Studio

2019

2.新建项目

3.添加驱动

右键项目名称-->添加

点击“浏览”,选择DmProvider.dll

添加完成后,如下图

4.新建测试表

在SYSDBA用户下,新建如下表,提供给示例程序使用。

CREATE TABLE "PRODUCT"

(

"PRODUCTID" INT IDENTITY(1, 1) PRIMARY KEY,

"NAME" VARCHAR(100) NOT NULL,

"AUTHOR" VARCHAR(25) NOT NULL,

"PUBLISHER" VARCHAR(50) NOT NULL,

"PUBLISHTIME" DATE NOT NULL,

"PRODUCT_SUBCATEGORYID" INT,

"PRODUCTNO" VARCHAR(25) NOT NULL,

"SATETYSTOCKLEVEL" SMALLINT NOT NULL,

"ORIGINALPRICE" DEC(19,4) NOT NULL,

"NOWPRICE" DEC(19,4) NOT NULL,

"DISCOUNT" DECIMAL(2,1) NOT NULL,

"DESCRIPTION" TEXT,

"PHOTO" IMAGE,

"TYPE" VARCHAR(5),

"PAPERTOTAL" INT,

"WORDTOTAL" INT,

"SELLSTARTTIME" DATE NOT NULL,

"SELLENDTIME" DATE

);

5.开发示例

DM provider 接口实现增、删、改、查四个基本操作,程序代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using Dm;

namespace dm_dotnet01

{

    class Program

    {

        static void Main(string[] args)

        {

            DmConnection conn = new DmConnection();

            try

            {

                conn.ConnectionString = "SERVER=127.0.0.1;PORT=5236;USER=SYSDBA;PASSWORD=SYSDBA;ENCODING=UTF-8";//需要指定ENCODING

                conn.Open();

            }

            catch (Exception ex)

            {

                Console.WriteLine("连接数据库失败");

                Console.WriteLine(ex.Message);

            }

            //插入

            fun_insert(conn);

            //查询

            fun_select(conn);

            //更新

            fun_update(conn);

            //查询

            fun_select(conn);

            //删除

            fun_delete(conn);

            //查询

            fun_select(conn);

            conn.Close();

        }

        static void fun_select(DmConnection conn)

        {

            Console.WriteLine("查询结果:");

            DmCommand command = new DmCommand();

            command.Connection = conn;

            command.CommandText = "SELECT NAME, AUTHOR, PUBLISHER FROM PRODUCT;";

            try

            {

                //ExecuteReader():将 CommandText 发送到 Connection 并生成一个 DmDataReader;

                DmDataReader reader = (DmDataReader)command.ExecuteReader();

                //从结果集中获取行数据。

                while (reader.Read())

                {

                    string name = reader.GetString(0);

                    string author = reader.GetString(1);

                    string publisher = reader.GetString(2);

                    Console.WriteLine(name + "\t" + author + "\t" + publisher);

                    Console.WriteLine("");

                }

                reader.Close();

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.Message);

            }

        }

        static void fun_insert(DmConnection conn)

        {

            DmCommand command = new DmCommand();

            command.Connection = conn;

            command.CommandText = "INSERT INTO PRODUCT(NAME, AUTHOR, PUBLISHER,PUBLISHTIME, PRODUCTNO, SATETYSTOCKLEVEL, ORIGINALPRICE,NOWPRICE, DISCOUNT, DESCRIPTION, TYPE, PAPERTOTAL, WORDTOTAL, SELLSTARTTIME,SELLENDTIME) " +

                                  "VALUES ('三国演义', '罗贯中', '中华书局', '2005-04-01', '9787101046121',10, 19.0000, 15.2000, 8.0, '《三国演义》是中国第一部长篇章回体小说', '16', 943, 93000, '2006-03-20', '1900-01-01')";

            try

            {

                command.ExecuteNonQuery();

                Console.WriteLine("插入成功");

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.Message);

            }

        }

        static void fun_update(DmConnection conn)

        {

            DmCommand command = new DmCommand();

            command.Connection = conn;

            command.CommandText = "UPDATE PRODUCT SET " + " NAME = '三国演义(上)' WHERE NAME = '三国演义'";

            try

            {

                command.ExecuteNonQuery();

                Console.WriteLine("修改成功");

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.Message);

            }

        }

        static void fun_delete(DmConnection conn)

        {

            DmCommand command = new DmCommand();

            command.Connection = conn;

            command.CommandText = "DELETE FROM PRODUCT WHERE NAME = '三国演义(上)'";

            try

            {

                command.ExecuteNonQuery();

                Console.WriteLine("删除成功");

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.Message);

            }

        }

    }

}

执行结果如下

更多资讯请上达梦技术社区了解:https://eco.dameng.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值