为DataTable设置主键及利用主键查找行数据
2012-04-01 20:31
337 查看
一,为DataTable设置主键
如果我们为DataTable设置一个主键,那么我们就可以根据主键在DataTable中查到唯一的数据。为什么是唯一的数据呢?因为根据主键查出来的记录永远都是唯一的,呵呵,要不然它与DataTable的Select方法是一样的效果了。当然,利用DataTable.Select("能确定唯一的条件").Rows[0]也可以找到与利用主键查找到的一样的信息。
DataTable的主键属性为PrimaryKey,利用该属性,我们可以设置或者获取DataTable的主键。因为DataTable的主键和SQL Server的主键一样,存在联合主键的问题,所以PrimaryKey应该是一个DataColumn数组。我们可以先设置一个DataColumn数组,当然,这个数组中的列都应该是该DataTable中的列。然后将这个数组赋给PrimaryKey属性作为DataTable的主键。
以下为设置PrimaryKey的示例:
//先声明一个DataTable
DataTable dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Columns.Add("C");
dt.Columns.Add("D");
//然后我们将列A与列B作为dt的联合主键
DataColumn[] cols = new DataColumn[] { dt_smartgrid.Columns["A"], dt_smartgrid.Columns["B"] };
dt.PrimaryKey=cols;
很简单,我们就为dt设置好主键了。
二,利用主键查找行数据
上一步我们已经为DataTable设置好主键,这一步我们演示如何利用主键查找数据。
首先我们要声明一个object[]数据,对应主键的数组中列的值,如上面的主键数组,我们声明一个object[]数组并赋值。
示例:
object[] objs=new object[]{"school","class"};
DataRow dr=dt.Rows.Find(objs);
上面的dr就是我们利用主键查找出来的唯一的行。当然,我们也可以利用如下方法来查找到该行数据:
DataRow dr=dt.Select("A='school' and B='class'").Rows[0]
两种方法查出来的效果是一样的。
本文来源于:http://www.lmwlove.com/ac/ID803
如果我们为DataTable设置一个主键,那么我们就可以根据主键在DataTable中查到唯一的数据。为什么是唯一的数据呢?因为根据主键查出来的记录永远都是唯一的,呵呵,要不然它与DataTable的Select方法是一样的效果了。当然,利用DataTable.Select("能确定唯一的条件").Rows[0]也可以找到与利用主键查找到的一样的信息。
DataTable的主键属性为PrimaryKey,利用该属性,我们可以设置或者获取DataTable的主键。因为DataTable的主键和SQL Server的主键一样,存在联合主键的问题,所以PrimaryKey应该是一个DataColumn数组。我们可以先设置一个DataColumn数组,当然,这个数组中的列都应该是该DataTable中的列。然后将这个数组赋给PrimaryKey属性作为DataTable的主键。
以下为设置PrimaryKey的示例:
//先声明一个DataTable
DataTable dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Columns.Add("C");
dt.Columns.Add("D");
//然后我们将列A与列B作为dt的联合主键
DataColumn[] cols = new DataColumn[] { dt_smartgrid.Columns["A"], dt_smartgrid.Columns["B"] };
dt.PrimaryKey=cols;
很简单,我们就为dt设置好主键了。
二,利用主键查找行数据
上一步我们已经为DataTable设置好主键,这一步我们演示如何利用主键查找数据。
首先我们要声明一个object[]数据,对应主键的数组中列的值,如上面的主键数组,我们声明一个object[]数组并赋值。
示例:
object[] objs=new object[]{"school","class"};
DataRow dr=dt.Rows.Find(objs);
上面的dr就是我们利用主键查找出来的唯一的行。当然,我们也可以利用如下方法来查找到该行数据:
DataRow dr=dt.Select("A='school' and B='class'").Rows[0]
两种方法查出来的效果是一样的。
本文来源于:http://www.lmwlove.com/ac/ID803
相关文章推荐
- 为DataTable设置主键及利用主键查找行数据
- 为DataTable设置主键及利用主键查找行数据
- 怎样为DataTable设置主键及找行数据
- DataSet用法一:添加代码创建的表DataTable,设置主键外键,读取及修改DataSet表中数据
- 利用Cache缓存数据DataTable数据提高大数据量访问性能
- 利用快速排序从大量数据中查找最大的若干个数据
- SqlDataAdapter.FillSchema(DataTable)方法填充数据表的主键和约束
- DataTable 添加列、设置主键、添加行、查询、更新
- 利用sqlite创建一个数据user,其含有一张表person,该person表中含有三个列,其中第一字段为主键int类型的,其他两个字段自定义数据类型和名称。
- 利用Hibernate Interceptor回调机制 统一设置数据表的共通属性
- 利用DataSet、DataTable、DataView按照自定义条件过滤数据
- DataTable搜索框、分页、页脚数据显示、显示数据多少的属性设置
- 数据中如何设置双主键
- 为DataTable设置主键
- 【位图】--利用位图储存大数据,节省空间,快速查找
- 利用toolStripTextBox查找数据在datagridview中显示
- 利用Cache缓存数据DataTable数据提高大数据量访问性能(转贴)
- sql server 2005 中数据库表 的创建 ,查看表 属性,表的名称重命名,情况表中信息,删除表 ; 表中列重命名,添加新列,修改列的数据类型,删除列,设置列的主键外键
- 大量数据并发的情况下 ,不用自增列 怎样设置主键 (转载自IT公司面试手册)
- Gridview利用DataFormatString属性设置数据格式