怎么样判断数据不重复

hedy_lu 2011-01-18 03:24:10
我做一个添加功能,Table 就两个字段: Id 是自动编号,name varchar(50),用gridview来绑定数据,现在要添加数据的时候,添加的名称不能与数据库里的名称相同,不知道怎么进行判断, 这么短的语句也不想用存储过程,请大家帮忙看一下。
...全文
134 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Times_ORZ 2011-01-18
  • 打赏
  • 举报
回复
写一个sql语句做查询
写一个方法返回bool类型

方法通过了再调用增加方法
telankes2000 2011-01-18
  • 打赏
  • 举报
回复
那就雙主鍵 簡單省事
fanslion 2011-01-18
  • 打赏
  • 举报
回复
思路上面的大侠已说出了,不重复了
很简单的,就连接查询,判断是否有存在,再插入
还不行就再看下别人的案例
hedy_lu 2011-01-18
  • 打赏
  • 举报
回复
我要的是名稱不能重複



[Quote=引用 16 楼 telankes2000 的回复:]
既然Id 是自动编号 就不會有重複的數據了 只管添加就好了
[/Quote]
telankes2000 2011-01-18
  • 打赏
  • 举报
回复
既然Id 是自动编号 就不會有重複的數據了 只管添加就好了
hedy_lu 2011-01-18
  • 打赏
  • 举报
回复
没有啦,我真的不知道怎么写,要不然也不会发帖子了



[Quote=引用 10 楼 jayinit 的回复:]
引用 8 楼 hedy_lu 的回复:
我知道思想,但我不知道怎么写,能具体点么,或者有代码就好了



引用 2 楼 ly89924 的回复:
好像要设个唯一键吧


明显的懒!
知道思想怎么不会写呢??
这次人家帮你写了
那下次你不还是这样吗
[/Quote]
lflljt 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hedy_lu 的回复:]
我知道思想,但我不知道怎么写,能具体点么,或者有代码就好了
引用 2 楼 ly89924 的回复:
好像要设个唯一键吧
[/Quote]
设个唯一键
也要……
wuyq11 2011-01-18
  • 打赏
  • 举报
回复
select count(*) from tb where id=@id
ExecuteScalar第一行第一列数据
再insert
if not exists (select * from tb where ID=@ID)
insert
仅此而已 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jayinit 的回复:]
引用 8 楼 hedy_lu 的回复:
我知道思想,但我不知道怎么写,能具体点么,或者有代码就好了



引用 2 楼 ly89924 的回复:
好像要设个唯一键吧


明显的懒!
知道思想怎么不会写呢??
这次人家帮你写了
那下次你不还是这样吗
[/Quote]

++
hedy_lu 2011-01-18
  • 打赏
  • 举报
回复




是与数据库里判断 ,能具体点么,我没写过,以往我都是在存储过程里面判断的,
[Quote=引用 3 楼 hztltgg 的回复:]
判断好说,判断了以后如何处理才麻烦,是gridview里判断还是在数据库里判断?

插入之前先查询 select count(*) form [table] where [name] = @name
等于1就别插入了,
或者数据库设置name为主键或者唯一索引,try,捕获错误
[/Quote]
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hedy_lu 的回复:]
我知道思想,但我不知道怎么写,能具体点么,或者有代码就好了



引用 2 楼 ly89924 的回复:
好像要设个唯一键吧
[/Quote]

明显的懒!
知道思想怎么不会写呢??
这次人家帮你写了
那下次你不还是这样吗
hedy_lu 2011-01-18
  • 打赏
  • 举报
回复
我知道思想,但是我不知道怎么写,我没写过,以往都是在存储过程里判断的



[Quote=引用 3 楼 hztltgg 的回复:]
判断好说,判断了以后如何处理才麻烦,是gridview里判断还是在数据库里判断?

插入之前先查询 select count(*) form [table] where [name] = @name
等于1就别插入了,
或者数据库设置name为主键或者唯一索引,try,捕获错误
[/Quote]
hedy_lu 2011-01-18
  • 打赏
  • 举报
回复
我知道思想,但我不知道怎么写,能具体点么,或者有代码就好了


[Quote=引用 2 楼 ly89924 的回复:]
好像要设个唯一键吧
[/Quote]
hedy_lu 2011-01-18
  • 打赏
  • 举报
回复
我知道思想,但我不知道到底怎么写,能再具体点么


[Quote=引用 5 楼 dalmeeme 的回复:]
添加前先查询下是否已有该数据:"select count(*) from 数据表 where name='"+TextBox1.Text+"'";
if((int)cmd.ExecuteScalar()==0);
插入数据;
else
给出数据重复提示;

最好用参数化sql语句,防止注入。
[/Quote]
powerchuangwai 2011-01-18
  • 打赏
  • 举报
回复
插入数据前查询比较,看是不是有相同的数据。
dalmeeme 2011-01-18
  • 打赏
  • 举报
回复
添加前先查询下是否已有该数据:"select count(*) from 数据表 where name='"+TextBox1.Text+"'";
if((int)cmd.ExecuteScalar()==0);
插入数据;
else
给出数据重复提示;

最好用参数化sql语句,防止注入。
Im_Sorry 2011-01-18
  • 打赏
  • 举报
回复
把你输入文本框的值 和 数据库 查出来的值 比较


如果相同,就表示 改数据 以存在

就好比 检测 用户名 一样
hztltgg 2011-01-18
  • 打赏
  • 举报
回复
判断好说,判断了以后如何处理才麻烦,是gridview里判断还是在数据库里判断?

插入之前先查询 select count(*) form [table] where [name] = @name
等于1就别插入了,
或者数据库设置name为主键或者唯一索引,try,捕获错误
我是来接分的 2011-01-18
  • 打赏
  • 举报
回复
好像要设个唯一键吧
laowang134 2011-01-18
  • 打赏
  • 举报
回复
要判断就得跟数据库的的数据进行比较。。。
select count(1) from tb where name=txt1.Text.Replace("'","''")

62,054

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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