为DataTable设置主键受挫,能否帮个忙啊?

dahuaimao 2005-06-13 04:25:29
程序运行到datatable.PrimaryKey=new DataColumn[]{dt.Columns["userid"]};报错:“这些列当前不具有唯一值”,这说明userid列存在重复值,但该字段是从oracle库中获得,并且是所在表中的主键字段。后发现其中有相似值,如“abc”和“abc ”(后面跟有空格),说明DataTable中会忽略字符串(对象)中的空格,问题是我的需求是不能忽略任何字符,这该在哪里设置呢?已试过CaseSensitive=true;不行啊?
...全文
898 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dahuaimao 2005-06-15
  • 打赏
  • 举报
回复
看来是没救了,加列是不行了,记录有上百万条,多1列所消耗的内存是很可观的。不过还是谢谢大家了
reddg 2005-06-14
  • 打赏
  • 举报
回复
实在不行加一列rowid把,隐藏着用
timiil 2005-06-14
  • 打赏
  • 举报
回复
Eddie005(♂) 暴赱『零零伍』(︶︵︶) ( ) 信誉:107 2005-06-14 08:45:00 得分: 0


是的,程序上没办法;本来就不应该使用具有实际意义的字段作为主键


....

我无知,若不使用“有实际意义的字段作为主键”,如何简单地、快捷地、高效地对该字段的进行唯一性约束呢?
seekg 2005-06-14
  • 打赏
  • 举报
回复
大家都说了,加一列用不了多少空间,不知道当初怎么没这样做
ghchen 2005-06-14
  • 打赏
  • 举报
回复
创建一列做主键的吧
stlwj 2005-06-14
  • 打赏
  • 举报
回复
干吗一定要在有数据的列作主键呢?
再创建一列做主键的吧
Eddie005 2005-06-14
  • 打赏
  • 举报
回复
是的,程序上没办法;本来就不应该使用具有实际意义的字段作为主键
dahuaimao 2005-06-14
  • 打赏
  • 举报
回复
啊?真的没救了?
MyLf 2005-06-13
  • 打赏
  • 举报
回复
up
fengfangfang 2005-06-13
  • 打赏
  • 举报
回复
在程序上无法解决,只能在数据上下功夫了

110,533

社区成员

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

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

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