首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查是否设置了datatable.PrimaryKey

如何检查是否设置了datatable.PrimaryKey
EN

Stack Overflow用户
提问于 2011-05-06 20:10:43
回答 3查看 4K关注 0票数 0

我有一个datatable,如果它还没有主键,我必须给它分配一个主键。我试过了:

代码语言:javascript
运行
复制
if (ds.Tables[0].PrimaryKey == null)
{
    ds.Tables[0].PrimaryKey = new DataColumn[] { dt.Columns["Naam"] };
}

但是PrimaryKey (在本例中)不为空。当我检查它包含:{System.Data.DataColumn}我如何检查它?

EN

Stack Overflow用户

发布于 2017-06-10 01:54:37

哈维尔的答案是正确的,但缺乏解释。这里,DataTable.PrimaryKey属性是DataColumns的集合。如果未设置DataTable PrimaryKey属性,则集合的长度将为0。如果DataTable有一个或多个字段定义为主键,则PrimaryKey属性的长度将反映这一点。所以,像这样检查:

代码语言:javascript
运行
复制
    if (ds.Tables[0].PrimaryKey.Length == 0)

将告诉我们是否没有添加任何列来表示主键,并且部分

代码语言:javascript
运行
复制
     ds.Tables[0].PrimaryKey = new DataColumn[] { dt.Columns["Naam"] }; 

实际上会将DataColumn添加到由PrimaryKey属性持有的列集合中。

票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5911209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档