很多情形下我们需要知道表的主键是什么 在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、在查询窗口中输入截图的命令修改主键,如果表存在主键,需要先删除原主键得到消息“命令已成功完成”即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)