首 页 | 精品电影 | 音乐天堂 | 在线游戏 | Flash MTV | 三湘书屋 | 幽默笑话 | 三湘图库 | 美女写真 | IT知识库 | QQ贴图 | 加入书签

网页制作网络编程图形图象操作系统冲浪宝典软件教学网络安全认证考试通信技术电子商务业内动态书籍教程原码

最近更新 文章分类 多媒体类 精品软件

本站搜索:
您的位置:三湘时空 -> IT知识库 -> 文章分类 -> ADO.NET应用 -> 通过DataTable获得表的主键
通过DataTable获得表的主键


文章类别:ADO.NET应用 来源: 作者: 发表日期:2006-2-28 字体:[ ]

小游戏 | 在线影院 | 幽默笑话 | 源码下载 | Flash MTV | 音乐试听 | 书屋 | 美女写真

很多情形下我们需要知道表的主键是什么。在ADO.Net中提供了DataTable可以映射数据库的表。于是便可以利用DataTable的属性PrimaryKey,它是DataColumn[] 类型是一个数组。我们可以使用如下的代码

   DataColumn[] cols;
   cols = Table.PrimaryKey;
 //注意不是cols是DataColumn数组,不是DataColumn变量。这样做主要是为了处理联合主键的问题。
   for(int i = 0; i < cols.Length; i++)
   {
          MessageBox.Show(cols[i].ColumnName);
   }

按理这个问题就已经解决了,但是cols.Length却是0。原来在默认的情况下填充DataTable时并没有从数据库中取的主键的信息。如何获得主键呢?经过研究发现在填充Dataset的时候可以使用DataAdapter的MissingSchemaAction属性帮助我们解决这个问题,于是有如下的代码:

    //使用DataAdapter填充DataTable
    dataadapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
    dataadapter.Fill(Table);

    DataColumn[] cols;
    cols = Table.PrimaryKey;
    //注意不是cols是DataColumn数组,不是DataColumn变量。这样做主要是为了处理联合主键的问题。
    for(int i = 0; i < cols.Length; i++)
    {
        MessageBox.Show(cols[i].ColumnName);
    }

这样我们便可以如愿以偿了。MissingSchemaAction属性是确定现有Dataset(或DataTable)架构与传入数据不匹配时需要执行的操作。MissingSchemaAction.AddWithKey是枚举值,它的作用是添加必需的列和主键信息以完成架构,利用它用户可以在每个 DataTable上显式设置主键约束。

上一篇:flash和asp分页的一点心得 下一篇:关于c#中的事件处理机制
本栏目热门文章
·使用ADO.net将数据导出到Excel并提供下载 2005-12-20
·ASP.NET中存取图片到数据库的示例 2005-10-4
·ADO.NET 数据库实例教程 2005-10-4
·ADO.NET中的多数据表操作浅析之读取 2005-10-4
·用ado.net对word,excel进行存取 2005-10-4
·ASP.NET数据库编程 2005-10-4
·ADO.NET 数据集中浏览多个相关表 2 2005-10-4
·ADO.NET 数据集中浏览多个相关表 1 2005-10-4
·ADO.NET操纵数据库 2006-2-2
·最佳实践 ADO.NET实用经验无保留曝光 2005-10-4
新近更新文章
·ADO.NET性能改善方法集合 2006-5-22
·使用 DataAdapter 执行批量更新 2006-4-30
·ADO.NET起步 2006-4-28
·NHibernate与Ado.Net查询速度的比较 2006-3-20
·通过DataTable获得表的主键 2006-2-28
·ADO.NET操纵数据库 2006-2-2
·用多活动结果集优化ADO.NET2.0数据连接 2005-12-25
·使用ADO.net将数据导出到Excel并提供下载 2005-12-20
·ADO.NET 2.0批量数据操作和多动态结果集 2005-11-1
·ADO.NET 数据集中浏览多个相关表 4 2005-10-4
首 页 | 软件发布 | 广告联系 | 下载帮助 | 意见反馈 | 网站地图
  CopyRight? 2002-2004 WWW.SXSKY.NET? All Rights Reserved
三湘时空 站长QQ:82675303 Email: