通过DataTable获得表的主键

通过DataTable获得表的主键,第1张

很多情形下我们需要知道表的主键是什么 在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

1、打开【SQL Server Management Studio】管理工具,连接数据库。

2、【新建表时设置主键】- 打开新建表界面,展开要新建表的数据库,右键【表】菜单,依次选择【新建】->【表】。

3、【新建表时设置主键】- 设置主键。

4、【修改表主键】- 打开设计表界面。右键选择要修改的表,选择【设计】菜单,即可打开此表的设计界面,此时,可以修改列名、列类型、长度等等。

5、联合主键设置:按住ctrl键,配合鼠标左键,可以多选几行,然后右键选择【设置主键】,对于有数据的表,如果修改后的主键存在数据重复行,则会提示修改失败,此时,需要视具体业务场景删除重复记录或者更改另外的列作为主键。

6、【sql语句删除主键】。

7、在查询窗口中输入截图的命令添加主键ALTER TABLE 表名 ADD CONSTRAINT 键名 PRIMARY KEY ( 列名,多个列名用逗号分隔 )。

8、在查询窗口中输入截图的命令修改主键,如果表存在主键,需要先删除原主键得到消息“命令已成功完成”即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10820702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存