csharp:Dapper Sample



You can find Dapper on Google Code here: http://code.google.com/p/dapper-dot-net/ and the GitHub distro here: https://github.com/SamSaffron/dapper-dot-net.

///<summary>
        /// 追加记录
        ///</summary>
        ///<param name="BookPlaceListInfo"></param>
        ///<returns></returns>
        public int InsertBookPlaceList(BookPlaceListInfo bookPlaceList)
        {
            int ret = 0;
            try
            {
                List<BookPlaceListInfo> list=new List<BookPlaceListInfo>();
                list.Add(bookPlaceList);
                StringBuilder str = new StringBuilder();
                str.Append("INSERT INTO BookPlaceList ");
                str.Append("([BookPlaceName] ,[BookPlaceCode] ,[BookPlaceParent]) VALUES ");
                str.Append("(@BookPlaceName ,@BookPlaceCode,@BookPlaceParent)");
                ret=SqlMapperUtil.InsertMultiple<BookPlaceListInfo>(str.ToString(),list, SqlHelper.ConnectionString);

            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return ret;
        }
        /// <summary>
        /// 存储过程
        /// 追加记录
        /// </summary>
        /// <param name="bookPlaceList"></param>
        /// <returns></returns>
        public int InsertBookPlaceListProc(BookPlaceListInfo bookPlaceList)
        {
            int ret = 0;
            try
            {
                string strProc = "proc_Insert_BookPlaceList";//存储过程
                var pamar = new { BookPlaceName = bookPlaceList.BookPlaceName, BookPlaceCode = bookPlaceList.BookPlaceCode, BookPlaceParent = bookPlaceList.BookPlaceParent };
                ret = SqlMapperUtil.InsertUpdateOrDeleteStoredProc(strProc, pamar, SqlHelper.ConnectionString);

            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return ret;
        }

        /// <summary>
        /// 追加多条记录
        /// </summary>
        /// <param name="bookPlaceList"></param>
        /// <returns></returns>
        public int InsertBookPlaceListMore(List<BookPlaceListInfo> bookPlaceList)
        {
            int ret = 0;
            try
            {

                StringBuilder str = new StringBuilder();
                str.Append("INSERT INTO BookPlaceList ");
                str.Append("([BookPlaceName] ,[BookPlaceCode] ,BookPlaceParent]) VALUES ");
                str.Append("(@BookPlaceName ,@BookPlaceCode,@BookPlaceParent)");
                ret = SqlMapperUtil.InsertMultiple<BookPlaceListInfo>(str.ToString(), bookPlaceList, SqlHelper.ConnectionString);

            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return ret;
        }

        ///<summary>
        ///修改记录
        ///</summary>
        ///<param name="BookPlaceListInfo"></param>
        ///<returns></returns>
        public int UpdateBookPlaceList(BookPlaceListInfo bookPlaceList)
        {
            int ret = 0;
            try
            {
                List<BookPlaceListInfo> list = new List<BookPlaceListInfo>();
                list.Add(bookPlaceList);
                StringBuilder str = new StringBuilder();
                str.Append("UPDATE BookPlaceList SET ");
                str.Append("[BookPlaceName]=@BookPlaceName ,");
                str.Append("[BookPlaceCode]=@BookPlaceCode,");
                str.Append("[BookPlaceParent]=@BookPlaceParent");
                str.Append(" where ");
                str.Append("[BookPlaceID]=@BookPlaceID");
                ret = SqlMapperUtil.InsertMultiple<BookPlaceListInfo>(str.ToString(), list, SqlHelper.ConnectionString);

            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return ret;
        }
        /// <summary>
        /// 存储过程
        /// </summary>
        /// <param name="bookPlaceList"></param>
        /// <returns></returns>
        public int UpdateBookPlaceListProc(BookPlaceListInfo bookPlaceList)
        {
            int ret = 0;
            try
            {
                string strProc = "proc_Update_BookPlaceList";//存储过程
                var pamar = new { BookPlaceName = bookPlaceList.BookPlaceName, BookPlaceCode = bookPlaceList.BookPlaceCode, BookPlaceParent = bookPlaceList.BookPlaceParent, BookPlaceID=bookPlaceList.BookPlaceID };
                ret = SqlMapperUtil.InsertUpdateOrDeleteStoredProc(strProc, pamar, SqlHelper.ConnectionString);
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return ret;
        }
        ///<summary>
        /// 删除记录
        ///</summary>
        ///<param name="bookPlaceIDInfo"></param>
        ///<returns></returns>
        public bool DeleteBookPlaceList(int bookPlaceID)
        {
            bool ret = false;
            try
            {
                int temp = 0;
                StringBuilder str = new StringBuilder();
                str.Append("DELETE  BookPlaceList WHERE BookPlaceID = @BookPlaceID");
                temp = SqlMapperUtil.InsertUpdateOrDeleteSql(str.ToString(), new { BookPlaceID = bookPlaceID }, SqlHelper.ConnectionString);

                if (temp != 0)
                {
                    ret = true;
                }
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return ret;
        }
        /// <summary>
        /// 存储过程
        /// </summary>
        /// <param name="bookPlaceID"></param>
        /// <returns></returns>
        public bool DeleteBookPlaceListProc(int bookPlaceID)
        {
            bool ret = false;
            try
            {
                int temp = 0;
                string strProc = "proc_Delete_BookPlaceList";//存储过程
                var pamar = new { BookPlaceID = bookPlaceID };
                temp = SqlMapperUtil.InsertUpdateOrDeleteStoredProc(strProc, new { BookPlaceID = bookPlaceID }, SqlHelper.ConnectionString);

                if (temp != 0)
                {
                    ret = true;
                }
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return ret;
        }
        ///<summary>
        /// 查询记录
        ///</summary>
        ///<param name="bookPlaceIDInfo"></param>
        ///<returns></returns>
        public BookPlaceListInfo SelectBookPlaceList(int bookPlaceID)
        {
            BookPlaceListInfo bookPlaceList = null;
            try
            {
                StringBuilder str = new StringBuilder();
                str.Append("SELECT * FROM BookPlaceList WHERE BookPlaceID = @BookPlaceID");
                bookPlaceList = SqlMapperUtil.SqlWithParamsSingle<BookPlaceListInfo>(str.ToString(), new { BookPlaceID = bookPlaceID }, SqlHelper.ConnectionString);

            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return bookPlaceList;
        }
        /// <summary>
        /// 存储过程查询记录
        /// 涂聚文
        /// 20150726
        /// </summary>
        /// <param name="bookPlaceID"></param>
        /// <returns></returns>
        public BookPlaceListInfo SelectBookPlaceListProc(int bookPlaceID)
        {
            BookPlaceListInfo bookPlaceList = null;
            try
            {
                string strProc = "proc_Select_BookPlaceList";//存储过程
                bookPlaceList = SqlMapperUtil.StoredProcWithParamsSingle<BookPlaceListInfo>(strProc, new { BookPlaceID = bookPlaceID }, SqlHelper.ConnectionString);

            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return bookPlaceList;
        }
        ///<summary>
        /// 查询所有记录
        ///</summary>
        ///<returns></returns>
        public List<BookPlaceListInfo> SelectBookPlaceListAll()
        {
            List<BookPlaceListInfo> list = new List<BookPlaceListInfo>();
            try
            {
                string str = "SELECT * FROM BookPlaceList";
                list = SqlMapperUtil.SqlWithParams<BookPlaceListInfo>(str, null, SqlHelper.ConnectionString);
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return list;
        }
        /// <summary>
        /// 存储过程
        /// Geovin Du
        /// 查询所有记录
        /// </summary>
        /// <returns></returns>
        public List<BookPlaceListInfo> SelectBookPlaceListProc()
        {
            List<BookPlaceListInfo> list = new List<BookPlaceListInfo>();
            try
            {
                string strProc = "proc_Select_BookPlaceListAll"; //存储过程
                list = SqlMapperUtil.StoredProcWithParams<BookPlaceListInfo>(strProc, null, SqlHelper.ConnectionString);
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return list;
        }

测试

/// <summary>
       /// 编辑
       /// </summary>
       /// <param name="sender"></param>
       /// <param name="e"></param>
       private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
       {
           EditForm edit = new EditForm();
           edit.Text = "";
           edit.Operator = 2;
           edit.BookPlaceCode =(!object.Equals(dataGridView1.Rows[e.RowIndex].Cells["BookPlaceCode"].Value,null))?dataGridView1.Rows[e.RowIndex].Cells["BookPlaceCode"].Value.ToString():"";
           edit.BookPlaceID = int.Parse(dataGridView1.Rows[e.RowIndex].Cells["BookPlaceID"].Value.ToString());
           edit.BookPlaceParent = int.Parse(dataGridView1.Rows[e.RowIndex].Cells["BookPlaceParent"].Value.ToString());
           edit.BookPlaceName = dataGridView1.Rows[e.RowIndex].Cells["BookPlaceName"].Value.ToString();
           if (edit.ShowDialog() == DialogResult.OK)
           {
               this.dataGridView1.DataSource = bookPlaceListBLL.SelectBookPlaceListAll();
               //this.dataGridView1.DataSource = bookPlaceListBLL.SelectBookPlaceListProc(); //存储过程
           }

       }
       /// <summary>
       /// 添加
       /// </summary>
       /// <param name="sender"></param>
       /// <param name="e"></param>
       private void button1_Click(object sender, EventArgs e)
       {
           EditForm edit = new EditForm();
           edit.Text = "";
           edit.Operator = 1;
           edit.BookPlaceParent = int.Parse(dataGridView1.CurrentRow.Cells["BookPlaceParent"].Value.ToString());
           if (edit.ShowDialog() == DialogResult.OK)
           {
               this.dataGridView1.DataSource = bookPlaceListBLL.SelectBookPlaceListAll();
               //this.dataGridView1.DataSource = bookPlaceListBLL.SelectBookPlaceListProc(); //存储过程
           }
       }
       /// <summary>
       /// 删除
       /// </summary>
       /// <param name="sender"></param>
       /// <param name="e"></param>
       private void button2_Click(object sender, EventArgs e)
       {
           int id = int.Parse(dataGridView1.CurrentRow.Cells["BookPlaceID"].Value.ToString());
           //bool k = bookPlaceListBLL.DeleteBookPlaceList(id);//SQL
           bool k = bookPlaceListBLL.DeleteBookPlaceListProc(id);//存储过程
           if (k)
           {
               this.dataGridView1.DataSource = bookPlaceListBLL.SelectBookPlaceListAll();
               MessageBox.Show("ok");

           }

       }
       /// <summary>
       /// 查询
       /// </summary>
       /// <param name="sender"></param>
       /// <param name="e"></param>
       private void button3_Click(object sender, EventArgs e)
       {
           int id = int.Parse(dataGridView1.CurrentRow.Cells["BookPlaceID"].Value.ToString());
           BookPlaceListInfo info = new BookPlaceListInfo();
           //info = bookPlaceListBLL.SelectBookPlaceList(id);//SQL
           info = bookPlaceListBLL.SelectBookPlaceListProc(id);//存储过程 涂聚文注
           if (!object.Equals(info, null))
           {
               MessageBox.Show(info.BookPlaceName);
           }
       }

/// <summary>
       /// 添加,编辑
       /// </summary>
       /// <param name="sender"></param>
       /// <param name="e"></param>
       private void button1_Click(object sender, EventArgs e)
       {
           BookPlaceListInfo info = new BookPlaceListInfo();

           info.BookPlaceCode = this.textBox2.Text.Trim();
           info.BookPlaceName = this.textBox1.Text.Trim();
           info.BookPlaceParent = int.Parse(this.textBox3.Text.Trim());
           int k = 0;
           if (Operator == 1)
           {
               //k = bookPlaceListBLL.InsertBookPlaceList(info);//SQL
               k = bookPlaceListBLL.InsertBookPlaceListProc(info);//添加,存储过程
               if (k > 0)
               {
                   DialogResult dresult = MessageBox.Show("添加記錄成功!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                   if (dresult == DialogResult.OK)
                   {
                       this.Close();
                       this.DialogResult = DialogResult.OK;
                   }

               }
           }
           if (Operator == 2)
           {
               info.BookPlaceID = BookPlaceID;
               //k = bookPlaceListBLL.UpdateBookPlaceList(info);//SQL
               k = bookPlaceListBLL.UpdateBookPlaceListProc(info);//编辑存储过程
               if (k > 0)
               {
                   //
                   DialogResult dresult = MessageBox.Show("修改記錄成功!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                   if (dresult == DialogResult.OK)
                   {
                       this.Close();
                       this.DialogResult = DialogResult.OK;
                   }

               }
           }
       }





与SqlHelper比批量数据插入快近一半



时间: 2024-11-16 15:15:53

csharp:Dapper Sample的相关文章

项目笔记---CSharp图片处理

原文:项目笔记---CSharp图片处理 项目笔记---CSharp图片处理   最近由于项目上需要对图片进行二值化处理,就学习了相关的图片处理上的知识,从开始的二值化的意义到动态阀值检测二值化等等,并用C#得以应用,学到了很多的知识和大家分享下我个人的经验,希望对大家有帮助.   二值化 二值化简而言之是对一副彩色图片进行0/1运算,最终显示一副黑白相间的图片,其意义多数在于对二值化处理后的图片进行分割识别,一些自动识别的验证码工具大多是先进行二值化,然后在模式识别,最终推断出验证码:我的项目

旧文重贴:在Csharp当中使用注释(原创)

原创 在Csharp当中使用注释 注意:本文是开心就好原创,并且曾经发表在<视窗世界>中,不欢迎转贴,十分感谢!!!由于软件的复杂性以及不可预知性,所以在程序当中添加注释是一个非常明智的选择,尤其是在团队开发当中,可以使自己的程序更加适于阅读.我们知道Csharp(即C#)作为C++语言的一种扩展版本,继承了C++的注释方法,即以"//"针对一行的注释方法,或者以"/*   */"跨行的注释方法.可以很方便所有开发人员进行使用.例一: /*Author:

从Csharp走到VB.Net(一):MyClass保留字

保留字 2003年开始我接触的第一个B/S项目是DotNet,用的是Csharp.到现在2年过去了,也接触了VB.Net的项目,一步步走过来,看到同时CLR平台,2种语言在保留字上的特性还是很大的.以下我一一列来:关于MyClass,大家请先建立一个VBConsoleApplication程序,将本文SourceCP进去 Module Module1 Class BaseClass Public Overridable Sub MyMethod() Console.WriteLine("Fath

Writing Secure Code In CSharp

Writing Secure Code using CSharpSubmitted ByUser LevelDate of SubmissionC.Vinodh KumarIntermediate04/06/2001Mobile Code, which come from various sources like e-mail, documents and downloaded code over the Internet are the main cause for the damage, d

Singleton Pattern in CSharp

Singleton Pattern in CSharp Level Author Beginner Kunal Cheda Singleton assures that there is one and only one instance of the class and provides a global point of access to it.There are number of cases in programming where you need to make sure that

Csharp+Asp.net系列教程(五)

asp.net|教程 本教程参考C#和ASP.NET程序设计教程撰写,有什么不足之处请大家指出,或在老猫的理想BLOG留言. 长假就要过去了.钱包也空空如也了,又要投入让人生畏的紧张工作中了... 感慨虽然很多,可是教程还是要继续的写,先发几句牢骚.^_^,不过教程可能以后要写的慢些了,因为心有余而力不足丫!不说废话进入正题: 有网友说教程过于繁琐,呵呵,下面正好要分析一下流程控制语句,有C程序设计基础的就略过这段,考虑有新手还是简要的介绍一下,详细还请参阅谭浩强教授的<C语言程序设计>一书吧

Wpf GridSplitter usage Sample

步骤 1: add grid xmal <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch"> <Grid.ColumnDefinitions > <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDe

.NET框架中Dapper ORM的用法

假如你喜欢原生的Sql语句,又喜欢ORM的简单,那你一定会喜欢上Dapper这款ROM.点击下载 Dapper的优势: 1,Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,编译后就40K的一个很小的Dll. 2,Dapper很快.Dapper的速度接近与IDataReader,取列表的数据超过了DataTable. 3,Dapper支持什么数据库.Dapper支持Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等一系列的数据库,当然如果你

Oracle SAMPLE语句学习(四)SAMPLE扫描和HINT的关系

Oracle的文档上描述,当不包含SAMPLE语句的时候,可以使用HINT来指定执行计划,实际上即使包含SAMPLE语句,HINT也是生效的. SQL> SELECT OBJECT_ID FROM T SAMPLE (1) WHERE WNER = USER; OBJECT_ID ---------- 60607 70958 执行计划 ---------------------------------------------------------- Plan hash value: 36300