通过DataTable获得表的主键
很多情形下我们需要知道表的主键是什么 在ADO Net中提供了DataTable可以映射数据库的表 于是便可以利用DataTable的属性PrimaryKey 它是DataColumn[] 类型是一个数组 我们可以使用如下的代码
DataColumn[] cols cols = Table PrimaryKey //注意不是cols是DataColumn数组 不是DataColumn变量 这样做主要是为了处理联合主键的问题
for(int i = i < cols Length i++)
{ MessageBox Show(cols[i] ColumnName) }
按理这个问题就已经解决了 但是cols Length却是 原来在默认的情况下填充DataTable时并没有从数据库中取的主键的信息 如何获得主键呢?经过研究发现在填充Dataset的时候可以使用DataAdapter的MissingSchemaAction属性帮助我们解决这个问题 于是有如下的代码
//使用DataAdapter填充DataTable dataadapter MissingSchemaAction = MissingSchemaAction AddWithKey dataadapter Fill(Table)
DataColumn[] cols cols = Table PrimaryKey //注意不是cols是DataColumn数组 不是DataColumn变量 这样做主要是为了处理联合主键的问题
for(int i = i < cols Length i++)
{ MessageBox Show(cols[i] ColumnName) }
lishixinzhi/Article/program/net/201311/13602