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比批量數據插入快近一半

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章