DataTable.Select 查询操作

短命女 2022-05-26 05:16 300阅读 0赞
  1. //
  2. // 摘要:
  3. // 获取所有 System.Data.DataRow 对象的数组。
  4. //
  5. // 返回结果:
  6. // System.Data.DataRow 对象的数组。
  7. public DataRow[] Select();
  8. //
  9. // 摘要:
  10. // 按照主键顺序(如果没有主键,则按照添加顺序)获取与筛选条件相匹配的所有 System.Data.DataRow 对象的数组。
  11. //
  12. // 参数:
  13. // filterExpression:
  14. // 要用来筛选行的条件。
  15. //
  16. // 返回结果:
  17. // System.Data.DataRow 对象的数组。
  18. public DataRow[] Select(string filterExpression);
  19. //
  20. // 摘要:
  21. // 获取按照指定的排序顺序且与筛选条件相匹配的所有 System.Data.DataRow 对象的数组。
  22. //
  23. // 参数:
  24. // filterExpression:
  25. // 要用来筛选行的条件。
  26. //
  27. // sort:
  28. // 一个字符串,它指定列和排序方向。
  29. //
  30. // 返回结果:
  31. // 与筛选表达式相匹配的 System.Data.DataRow 对象的数组。
  32. public DataRow[] Select(string filterExpression, string sort);
  33. //
  34. // 摘要:
  35. // 获取与排序顺序中的筛选器以及指定的状态相匹配的所有 System.Data.DataRow 对象的数组。
  36. //
  37. // 参数:
  38. // filterExpression:
  39. // 要用来筛选行的条件。
  40. //
  41. // sort:
  42. // 一个字符串,它指定列和排序方向。
  43. //
  44. // recordStates:
  45. // System.Data.DataViewRowState 值之一。
  46. //
  47. // 返回结果:
  48. // System.Data.DataRow 对象的数组。
  49. public DataRow[] Select(string filterExpression, string sort, DataViewRowState recordStates);
  50. using System;
  51. using System.Collections.Generic;
  52. using System.ComponentModel;
  53. using System.Data;
  54. using System.Drawing;
  55. using System.Linq;
  56. using System.Text;
  57. using System.Threading.Tasks;
  58. using System.Windows.Forms;
  59. namespace DataTableLearn
  60. {
  61. public partial class Form1 : Form
  62. {
  63. DataTable dt = new DataTable("Table");//创建表
  64. DataTable newdt = new DataTable("NewTable");
  65. public Form1()
  66. {
  67. InitializeComponent();
  68. dt.CaseSensitive = false;//不区分大小写
  69. #region 添加列
  70. dt.Columns.Add("column1", System.Type.GetType("System.String"));
  71. DataColumn dc1 = new DataColumn("column2", System.Type.GetType("System.Boolean"));
  72. dt.Columns.Add(dc1);
  73. DataColumn dc2 = new DataColumn();
  74. dc2.DataType = typeof(System.Int32);
  75. dc2.ColumnName = "column3";
  76. dt.Columns.Add(dc2);
  77. #endregion
  78. #region 赋值
  79. for (int i = 0; i <= 3; i++)
  80. {
  81. DataRow dr = dt.NewRow();//创建新的行
  82. dr[0] = "NewRow" + i;
  83. dr[1] = true;
  84. dr[2] = i;
  85. dt.Rows.Add(dr);
  86. }
  87. DataRow dr1 = dt.NewRow();
  88. dr1["column1"] = "AX";
  89. dr1["column2"] = true;
  90. dr1["column3"] = 100;
  91. dt.Rows.Add(dr1);//对特定表添加特定列
  92. #endregion
  93. dataGridView1.DataSource = dt;
  94. }
  95. //查询
  96. private void button1_Click(object sender, EventArgs e)
  97. {
  98. //DataRow[] drArr = dt.Select("column1='AX'");//查询
  99. //DataRow[] drArr = dt.Select();//获取所有列
  100. //DataRow[] drArr = dt.Select("column3<=5", "column1 ASC");//DESC 倒序 ASC正序
  101. //DataRow[] drArr = dt.Select("column3<=5 and column1='NewRow1'", "column1 ASC");
  102. DataRow[] drArr = dt.Select("column1 like '%row%'", "column1 ASC", DataViewRowState.Added);
  103. DataTable dtNew = dt.Clone();//复制表的结构
  104. for (int i = 0; i < drArr.Length; i++)
  105. {
  106. dtNew.ImportRow(drArr[i]);//把一个表的数据复制到另一个表
  107. }
  108. dataGridView1.DataSource = dtNew;
  109. }

发表评论

表情:
评论列表 (有 0 条评论,300人围观)

还没有评论,来说两句吧...

相关阅读