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

weixin_42083711 2021-04-21 04:57:02
这些列当前不具有唯一值 请问下该怎么解决
...全文
186 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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;

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧