<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        ADO調用分頁查詢存儲過程的實例講解

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:35:13
        文檔

        ADO調用分頁查詢存儲過程的實例講解

        ADO調用分頁查詢存儲過程的實例講解:一、分頁存儲過程 ----------使用存儲過程編寫一個分頁查詢----------------------- set nocount off --關閉SqlServer消息 --set nocount on --開啟SqlServer消息 go create proc usp_getMyStudentsDataByPage
        推薦度:
        導讀ADO調用分頁查詢存儲過程的實例講解:一、分頁存儲過程 ----------使用存儲過程編寫一個分頁查詢----------------------- set nocount off --關閉SqlServer消息 --set nocount on --開啟SqlServer消息 go create proc usp_getMyStudentsDataByPage

        一、分頁存儲過程

        ----------使用存儲過程編寫一個分頁查詢-----------------------
        set nocount off --關閉SqlServer消息
        --set nocount on --開啟SqlServer消息
        go
        create proc usp_getMyStudentsDataByPage
        --輸入?yún)?shù)
        @pagesize int=7,--每頁記錄條數(shù)
        @pageindex int=1,--當前要查看第幾頁的記錄
        --
        輸出參數(shù) @recordcount int output,--總的記錄的條數(shù) @pagecount int output --總的頁數(shù) as begin --1.編寫查詢語句,把用戶要的數(shù)據(jù)查詢出來 select t.fid, t.fname, t.fage, t.fgender, t.fmath, t.fclassid, t.fbirthday from (select *,rn=row_number() over(order by fid asc) from MyStudent) as t where t.rn between (@pageindex-1)*@pagesize+1 and @pagesize*@pageindex --2.計算總的記錄條數(shù) set @recordcount=(select count(*) from MyStudent) --3.計算總頁數(shù) set @pagecount=ceiling(@recordcount*1.0/@pagesize) end --調用前定義輸出參數(shù) declare @rc int,@pc int exec usp_getMyStudentsDataByPage @pagesize=7,@pageindex=4, @recordcount=@rc output,@pagecount=@pc output print @rc print @pc

        二、ADO調用存儲過程

        using System;
        using System.Collections.Generic;
        using System.ComponentModel;
        using System.Data;
        using System.Drawing;
        using System.Linq;
        using System.Text;
        using System.Windows.Forms;
        using System.Data.SqlClient;
        namespace _02通過Ado.Net調用存儲過程
        {
         public partial class Form1 : Form
         {
         public Form1()
         {
         InitializeComponent();
         }
         private int pageIndex = 1;//當前要查看的頁碼
         private int pageSize = 7;//每頁顯示的記錄條數(shù)
        
         private int pageCount;//總頁數(shù)
         private int recordCount;//總條數(shù)
         //窗體加載的時候顯示第一頁的數(shù)據(jù)
         private void Form1_Load(object sender, EventArgs e)
         {
         LoadData();
         }
         private void LoadData()
         {
         //根據(jù)pageIndex來加載數(shù)據(jù)
         string constr = "Data Source=steve-pc;Initial Catalog=itcast2014;Integrated Security=True";
         #region 1
         //using (SqlConnection conn = new SqlConnection(constr))
         //{
         // //將sql語句變成存儲過程名稱
         // string sql = "usp_getMyStudentsDataByPage";
         // using (SqlCommand cmd = new SqlCommand(sql, conn))
         // {
         // //告訴SqlCommand對象,現(xiàn)在執(zhí)行的存儲過程不是SQL語句
         // cmd.CommandType = CommandType.StoredProcedure;
         // //增加參數(shù)(存儲過程中有幾個參數(shù),這里就需要增加幾個參數(shù))
         // //@pagesize int=7,--每頁記錄條數(shù)
         // //@pageindex int=1,--當前要查看第幾頁的記錄
         // //@recordcount int output,--總的記錄的條數(shù)
         // //@pagecount int output --總的頁數(shù)
         // SqlParameter[] pms = new SqlParameter[] { 
         // new SqlParameter("@pagesize",SqlDbType.Int){Value =pageSize},
         // new SqlParameter("@pageindex",SqlDbType.Int){Value =pageIndex},
         // new SqlParameter("@recordcount",SqlDbType.Int){ Direction=ParameterDirection.Output},
         // new SqlParameter("@pagecount",SqlDbType.Int){Direction=ParameterDirection.Output}
         // };
         // cmd.Parameters.AddRange(pms);
         // //打開連接
         // conn.Open();
         // //執(zhí)行
         //using(SqlDataReader reader=cmd.ExecuteReader())
         //{
         //reader.Read()
         //}
         //pms[2].Value
         // }
         //}
         #endregion
         //DataAdapter方式
         DataTable dt = new DataTable();
         using (SqlDataAdapter adapter = new SqlDataAdapter("usp_getMyStudentsDataByPage", constr))
         {
         adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
         SqlParameter[] pms = new SqlParameter[] { 
         new SqlParameter("@pagesize",SqlDbType.Int){Value =pageSize},
         new SqlParameter("@pageindex",SqlDbType.Int){Value =pageIndex},
         new SqlParameter("@recordcount",SqlDbType.Int){ Direction=ParameterDirection.Output},
         new SqlParameter("@pagecount",SqlDbType.Int){Direction=ParameterDirection.Output}
         };
         adapter.SelectCommand.Parameters.AddRange(pms);
         adapter.Fill(dt);
         //獲取
        輸出參數(shù)并且賦值給label label1.Text = "總條數(shù):" + pms[2].Value.ToString(); label2.Text = "總頁數(shù):" + pms[3].Value.ToString(); label3.Text = "當前頁:" + pageIndex; //數(shù)據(jù)綁定 this.dataGridView1.DataSource = dt; } } //下一頁 private void button2_Click(object sender, EventArgs e) { pageIndex++; LoadData(); } //上一頁 private void button1_Click(object sender, EventArgs e) { pageIndex--; LoadData(); } } }

        效果圖:

        三、通過ado.net調用存儲過程與調用帶參數(shù)的SQL語句的區(qū)別。

        1>把SQL語句變成了存儲過程名稱

        2>設置SqlCommand對象的CommandType為CommandType.StoredProcedure

        這步本質 就是在 存儲過程名稱前面加了個“ exec ”

        3>根據(jù)存儲過程的參數(shù)來設置SqlCommand對象的參數(shù)。

        4>如果有輸出參數(shù)需要設置輸出參數(shù)的Direction屬性為:Direction=ParameterDirection.Output

        四、如果是通過調用Command對象的ExecuteReader()方法來執(zhí)行的該存儲過程,那么要想獲取輸出參數(shù),必須得等到關閉reader對象后,才能獲取輸出參數(shù)。

        以上這篇ADO調用分頁查詢存儲過程的實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

        聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ADO調用分頁查詢存儲過程的實例講解

        ADO調用分頁查詢存儲過程的實例講解:一、分頁存儲過程 ----------使用存儲過程編寫一個分頁查詢----------------------- set nocount off --關閉SqlServer消息 --set nocount on --開啟SqlServer消息 go create proc usp_getMyStudentsDataByPage
        推薦度:
        標簽: 調用 分頁的 ado
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 日本免费一区尤物| 97人妻精品全国免费视频| 日韩亚洲国产高清免费视频| 亚洲视频一区在线| 免费播放一区二区三区| 亚洲男人天堂影院| 色婷婷7777免费视频在线观看| 亚洲大尺码专区影院| 无人影院手机版在线观看免费| 亚洲午夜无码久久| 免费一级国产生活片| jizz免费在线影视观看网站| 中文字幕亚洲不卡在线亚瑟| 成全视频免费观看在线看| 亚洲高清在线视频| 中国xxxxx高清免费看视频| 亚洲视频一区在线观看| 免费观看男人免费桶女人视频| 亚洲AV无码之国产精品| 丝袜熟女国偷自产中文字幕亚洲| 久久WWW免费人成—看片| 久久精品国产精品亚洲艾| 免费视频爱爱太爽了| 久久人午夜亚洲精品无码区| 国产AV无码专区亚洲AWWW| 午夜免费福利视频| 亚洲精华国产精华精华液好用 | 亚洲一区电影在线观看| 日韩一区二区三区免费体验| 亚欧洲精品在线视频免费观看 | 拍拍拍无挡视频免费观看1000| 亚洲第一AV网站| 免费观看的毛片手机视频| 国产va免费精品| 亚洲国产精品张柏芝在线观看| 婷婷综合缴情亚洲狠狠尤物| 在线免费观看h片| 亚洲女女女同性video| 亚洲国产精品无码中文字| 日韩一区二区a片免费观看 | 特级毛片全部免费播放a一级|