C#_从DataTable中检索信息

存在于内存中的虚拟表DataTable,绑定在数据显示控件后,如果想在再检索其中某些信息,可以利用DataTable.Select方法进行检索,避免了重复的读取数据库。Select方法共有4个重载方法。

先创建一个DataTable:

DataTable dt = new DataTable("Student");//DataTable对象,表名时Student
//开始增加列头
dt.Columns.Add("编号",typeof(Int32));
dt.Columns.Add("姓名",typeof(String));
dt.Columns.Add("成绩",typeof(String));
//开始增加行数据
DataRow row = dt.NewRow();
row[0] = 1;
row[1] = "张";
row[2] = "98";
dt.Rows.Add(row);//向DataTable增加第一行记录
row = dt.NewRow();
row[0] = 2;
row[1] = "李";
row[2] = "78";
dt.Rows.Add(row);//向DataTable增加第二行记录
//设置DataTable的主键
dt.PrimaryKey = new DataColumn[]
{
  dt.Columns[0]
};

 

利用DataTable.Select()获取所有DataRow行对象数组:

DataRow[] rows = dt.Select();
/*row现在就相当一个二维数组
* [1],[张],[98]
* [2],[李],[78]
* 获取数据和二维数组的取值是相似的
*/
string name1 = rows[0][1].ToString();//name1="张"
string name2 = rows[1][1].ToString();//name2="李"

 

利用DataTable.Select(String)获取指定检索条件的DataRow行对象数组:

DataRow[] rows = dt.Select("姓名='张'");
// [1],[张],[98]
string id = rows[0][0].ToString();//id=1
string name = rows[0][1].ToString();//name1 = "张"
string score = rows[0][2].ToString();//score="98"

 

说明:这里Select方法中的检索字符串相当于T-SQL中的where关键字后的检索字符串,语法是一样的。

DataRow[] rows1 = dt.Select("姓名='张' and 编号=1");
DataRow[] rows2 = dt.Select("姓名='张' or 成绩>'60'");

转载于:https://www.cnblogs.com/lijialong/archive/2010/07/04/SelectDataTable.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值