激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - 大數量查詢分頁顯示 微軟的解決辦法

大數量查詢分頁顯示 微軟的解決辦法

2019-10-18 11:06asp代碼網 ASP教程

大數量查詢分頁顯示 微軟的解決辦法

微軟的解決辦法

  1. using System;   
  2. using System.Data;   
  3. using System.Data.SqlClient;   
  4. using System.Drawing;   
  5. using System.Windows.Forms;   
  6.  
  7. public class PagingSample: Form   
  8. {   
  9. // Form controls.   
  10. Button prevBtn = new Button();   
  11. Button nextBtn = new Button();   
  12.  
  13. static DataGrid myGrid = new DataGrid();   
  14. static Label pageLbl = new Label();   
  15.  
  16. // Paging variables.   
  17. static int pageSize = 10; // Size of viewed page.   
  18. static int totalPages = 0; // Total pages.   
  19. static int currentPage = 0; // Current page.   
  20. static string firstVisibleCustomer = ""// First customer on page to determine location for move previous.   
  21. static string lastVisibleCustomer = ""// Last customer on page to determine location for move next.   
  22.  
  23. // DataSet to bind to DataGrid.   
  24. static DataTable custTable;   
  25.  
  26. // Initialize connection to database and DataAdapter.   
  27. static SqlConnection nwindConn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind");   
  28. static SqlDataAdapter custDA = new SqlDataAdapter("", nwindConn);   
  29. static SqlCommand selCmd = custDA.SelectCommand;   
  30.  
  31. public static void GetData(string direction)   
  32. {   
  33. // Create SQL statement to return a page of records.   
  34. selCmd.Parameters.Clear();   
  35.  
  36. switch (direction)   
  37. {   
  38. case "Next":   
  39. selCmd.CommandText = "SELECT TOP " + pageSize + " CustomerID, CompanyName FROM Customers " +   
  40. "WHERE CustomerID > @CustomerId ORDER BY CustomerID";   
  41. selCmd.Parameters.Add("@CustomerId", SqlDbType.VarChar, 5).Value = lastVisibleCustomer;   
  42. break;   
  43. case "Previous":   
  44. selCmd.CommandText = "SELECT TOP " + pageSize + " CustomerID, CompanyName FROM Customers " +   
  45. "WHERE CustomerID < @CustomerId ORDER BY CustomerID DESC";   
  46. selCmd.Parameters.Add("@CustomerId", SqlDbType.VarChar, 5).Value = firstVisibleCustomer;   
  47. break;   
  48. default:   
  49. selCmd.CommandText = "SELECT TOP " + pageSize + " CustomerID, CompanyName FROM Customers ORDER BY CustomerID";   
  50.  
  51. // Determine total pages.   
  52. SqlCommand totCMD = new SqlCommand("SELECT Count(*) FROM Customers", nwindConn);   
  53. nwindConn.Open();   
  54. int totalRecords = (int)totCMD.ExecuteScalar();   
  55. nwindConn.Close();   
  56. totalPages = (int)Math.Ceiling((double)totalRecords / pageSize);   
  57.  
  58. break;   
  59. }   
  60.  
  61. // Fill a temporary table with query results.   
  62. DataTable tmpTable = new DataTable("Customers");   
  63. int recordsAffected = custDA.Fill(tmpTable);   
  64.  
  65. // If table does not exist, create it.   
  66. if (custTable == null)   
  67. custTable = tmpTable.Clone();   
  68.  
  69. // Refresh table if at least one record returned.   
  70. if (recordsAffected > 0)   
  71. {   
  72. switch (direction)   
  73. {   
  74. case "Next":   
  75. currentPage++;   
  76. break;   
  77. case "Previous":   
  78. currentPage--;   
  79. break;   
  80. default:   
  81. currentPage = 1;   
  82. break;   
  83. }   
  84.  
  85. pageLbl.Text = "Page " + currentPage + " of " + totalPages;   
  86.  
  87. // Clear rows and add new results.   
  88. custTable.Rows.Clear();   
  89.  
  90. foreach (DataRow myRow in tmpTable.Rows)   
  91. custTable.ImportRow(myRow);   
  92.  
  93. // Preserve first and last primary key values.   
  94. DataRow[] ordRows = custTable.Select("""CustomerID ASC");   
  95. firstVisibleCustomer = ordRows[0][0].ToString();   
  96. lastVisibleCustomer = ordRows[custTable.Rows.Count - 1][0].ToString();   
  97. }   
  98. }   
  99.  
  100.  
  101.  
  102. public PagingSample()   
  103. {   
  104. // Initialize controls and add to form.   
  105. this.ClientSize = new Size(360, 274);   
  106. this.Text = "NorthWind Data";   
  107.  
  108. myGrid.Location = new Point(10,10);   
  109. myGrid.Size = new Size(340, 220);   
  110. myGrid.AllowSorting = true;   
  111. myGrid.CaptionText = "NorthWind Customers";   
  112. myGrid.ReadOnly = true;   
  113. myGrid.AllowNavigation = false;   
  114. myGrid.PreferredColumnWidth = 150;   
  115.  
  116. prevBtn.Text = "<<";   
  117. prevBtn.Size = new Size(48, 24);   
  118. prevBtn.Location = new Point(92, 240);   
  119. prevBtn.Click += new EventHandler(Prev_OnClick);   
  120.  
  121. nextBtn.Text = ">>";   
  122. nextBtn.Size = new Size(48, 24);   
  123. nextBtn.Location = new Point(160, 240);   
  124.  
  125. pageLbl.Text = "No Records Returned.";   
  126. pageLbl.Size = new Size(130, 16);   
  127. pageLbl.Location = new Point(218, 244);   
  128.  
  129. this.Controls.Add(myGrid);   
  130. this.Controls.Add(prevBtn);   
  131. this.Controls.Add(nextBtn);   
  132. this.Controls.Add(pageLbl);   
  133. nextBtn.Click += new EventHandler(Next_OnClick);   
  134.  
  135.  
  136. // Populate DataSet with first page of records and bind to grid.   
  137. GetData("Default");   
  138. DataView custDV = new DataView(custTable, """CustomerID", DataViewRowState.CurrentRows);   
  139. myGrid.SetDataBinding(custDV, "");   
  140. }   
  141.  
  142.  
  143.  
  144. public static void Prev_OnClick(object sender, EventArgs args)   
  145. {   
  146. GetData("Previous");   
  147. }   
  148.  
  149. public static void Next_OnClick(object sender, EventArgs args)   
  150. {   
  151. GetData("Next");   
  152. }   
  153. }   
  154.  
  155.  
  156.  
  157. public class Sample   
  158. {   
  159. static void Main()   
  160. {   
  161. Application.Run(new PagingSample());   
  162. }   
  163. }  

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 妇女毛片| 精品国产一区二区三区久久久 | 精品国产视频一区二区三区 | 久久艹综合| 92看片淫黄大片一级 | 中文字幕一区2区 | 免费观看黄视频 | 欧美久久一区二区 | 久久情爱网 | 本色视频aaaaaa一级网站 | 国产精品视频一区二区三区四区国 | 91成人免费看片 | 国产69精品久久久久99尤 | 精品国产乱码久久久久久丨区2区 | 欧美一级黄 | 精品国产视频一区二区三区 | 一级黄色国产视频 | 免费观看视频91 | 色玖玖综合| 成年人视频在线免费播放 | 国产一级性生活视频 | 欧美性受ⅹ╳╳╳黑人a性爽 | 国产va在线观看免费 | 国产无限资源在线观看 | 久久狠狠高潮亚洲精品 | 高清在线观看av | 一道本不卡一区 | 免费黄色在线 | 成人久久 | 久久精品久久精品久久精品 | 久草在线视频首页 | 色视频在线观看 | 一级在线视频 | 亚洲精品一区二区三区在线看 | 久久手机在线视频 | 圆产精品久久久久久久久久久 | 成人毛片100部免费观看 | 鸳鸯谱在线观看高清 | 国产va在线观看 | 一级黄色影片在线观看 | 成人在线免费视频观看 |