C#连接access数据库,给datatable设置主键出现如下问题

weixin_42083711 2021-04-21 04:57:02
这些列当前不具有唯一值 请问下该怎么解决
...全文
140 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
老夏 2021-04-23
因为“组分”数据不唯一,主键必需唯一,要根据实际情况选择能保证唯一的字段或者字段组合,或者不需要的话也可以不设置主键
  • 打赏
  • 举报
回复
morliz子轩 2021-04-22
两个方法: 1、找到dt中id唯一标识字段存不存在(唯一性字段),存在的话:

            DataColumn[] columns = new DataColumn[1];
            columns[0] = dt.Columns["id"];
            dt.PrimaryKey = columns;
2、不存在的话,创建一个唯一字段:

            //自增ID
            DataColumn dcAutoId = new DataColumn("id", typeof(int))
            {
                AutoIncrement = true,        //自增
                AutoIncrementSeed = 1,       //起始值1
                AutoIncrementStep = 1,       //步长1
                AllowDBNull = false         //不为空
            };
            dt.Columns.Add(dcAutoId);

                DataColumn[] keys = new DataColumn[1];
                keys[0] = dt.Columns["id"];
                dt.PrimaryKey = keys;
  • 打赏
  • 举报
回复
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2021-04-21 04:57
社区公告

让您成为最强悍的C#开发者