.NET Core Dapper操作Sybase数据库

简介:

最近换了公司,现在这个公司需要使用Sybase数据库,本文分享一下.NET Core中使用Dapper操作Sybase数据库。

1、Dapper中Sybase的连接字符串

<add key="SybaseConnStr" value="Data Source=192.168.31.163; Port=5000; Database=pubs2; Uid=sa; Pwd=liangliang;Charset=iso_1;"/>

2、需要引用的dll

1)通过Nuget引用

Nuget搜索Sybase,找到合适版本的AseClient。

2)在Sybase安装目录

在D:\SAP\DataAccess或D:\SAP\DataAccess64目录找到对应版本的。

3、创建数据库连接

public static IDbConnection SybaseConn
        {
            get
            {
                try
                {
                    return new AseConnection(System.Configuration.ConfigurationManager.AppSettings["SybaseConnStr"]);
                }
                catch (Exception ex)
                {
                    logger.Error(ex.Message);
                }
                return null;
            }
        }

4、增删改查

//增
    using (IDbConnection conn = SybaseConn)
    {
        Users user = new Users();
        user.Name = "CNKI";
        user.Age = 38;
        string sqlCommandText = @"INSERT INTO USERS(Name,Age)VALUES(@Name,@Age)";
        int result = conn.Execute(sqlCommandText, user);
    }
    //批量增
    using (IDbConnection conn = SybaseConn)
    {
        List<Users> list = new List<Users>();
        for (int i = 0; i < 5; i++)
        {
            Users user = new Users();
            user.Name = "CNKI";
            user.Age = 38;
            list.Add(user);
        }
        string sqlCommandText = @"INSERT INTO USERS(Name,Age)VALUES(@Name,@Age)";
        int result = conn.Execute(sqlCommandText, list);
    }
    //删
    using (IDbConnection conn = SybaseConn)
    {
        Users user = new Users();
        user.ID = 1;
        string sqlCommandText = @"DELETE FROM USERS WHERE ID=@ID";
        int result = conn.Execute(sqlCommandText, user);
    }
    //改
    using (IDbConnection conn = SybaseConn)
    {
        Users user = new Users();
        user.ID = 2;
        user.Name = "CNKI";
        user.Age = 18;
        string sqlCommandText = @"UPDATE USERS SET Age=@Age WHERE ID=@ID";
        int result = conn.Execute(sqlCommandText, user);
    }
    //查
    using (IDbConnection conn = SybaseConn)
    {
        string sqlCommandText = @"SELECT * FROM USERS WHERE ID=@ID";
        Users user = conn.Query<Users>(sqlCommandText, new  { ID=2 }).FirstOrDefault();
    }

5、Dapper中的DynamicParameters动态参数集合类

using (IDbConnection conn = SybaseConn)
 {
     string sqlCommandText = @"SELECT * FROM USER WHERE ID=@ID";
     var p = new DynamicParameters();
     p.Add("@ID", 1);
     User user2 = conn.Query<User>(sqlCommandText,p).FirstOrDefault();
 }

6、Dapper事物操作

[TestMethod]
   public void TestDapperTransaction()
   {
       using (IDbConnection conn = SybaseConn)
       {
           conn.Open();
           IDbTransaction trans = conn.BeginTransaction();
           int row = conn.Execute(@"update t set name='cjavapy.com' where id=@id", new { id = 3 }, trans);
           row += conn.Execute("delete from t where id=@id", new { id = 5 }, trans);
           for (int i = 0; i < 100; i++)
           {
               conn.Execute(@"insert t(id, name) values (@id, @name)", new { id = i, name = "cjavapy.com" + i });
           }
           trans.Commit();
        }
    }

了解更多分析及数据抓取可查看:
http://data.yisurvey.com:8989/
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值