首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 怎么样对字段进行查重 [已结贴,结贴人:cq625652580]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cq625652580
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-07-23 20:05:45 楼主
    当你数据表中已有某个信息,当再有人往表里输入相同信息时,怎么进行查重
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wxg22526451
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-23 20:13:211楼 得分:0
    插入信息前先查数据库是否有相同信息
    select count(*) from table where..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • changke18
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-23 20:14:382楼 得分:0
    你是想把重复的数据删除,只保留一条记录吗
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cq625652580
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-23 21:03:283楼 得分:0
    不是,是在往数据库里写入的时候,当输入相同的信息时,不能让它输入进去
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • w4585
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-23 21:14:044楼 得分:0
    比如 用户名相同 就检查用户名 是否存在了。。。。 
    你就select 哪相同 信息 不就好了
    if (dr.read)
    {
    不让它输入;
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ltb55232133
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-23 21:18:475楼 得分:0
    引用 4 楼 w4585 的回复:
    比如 用户名相同 就检查用户名 是否存在了。。。。
    你就select 哪相同 信息 不就好了
    if (dr.read)
    {
    不让它输入;
    }

    引用 1 楼 wxg22526451 的回复:
    插入信息前先查数据库是否有相同信息
    select count(*) from table where..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • myljg
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-23 21:20:516楼 得分:0
    最明智的方法是使用SQL的存储过程,
    在存储过程中插入前进行检查,
    通过返回一个值告诉.NET是否插入成功.
    如果你用的不是SQL数据库就另当别论了.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • suyiming
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-23 21:21:407楼 得分:0
    引用 1 楼 wxg22526451 的回复:
    插入信息前先查数据库是否有相同信息
    select count(*) from table where..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wzy_love_sly
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-23 22:05:568楼 得分:10
    SQL code
    select * from tb t where exists( select 1 from tb where name=t.name group by name having count(1)>1 )


    以name列为标准查重复
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • MicrosoftCenterOfHN
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-23 22:50:109楼 得分:10
    强烈建议按8楼朋友给出的SQL语句建立一个存储过程.然后在输入数据提交的时候作出判断.

    SQL codeselect * from tb t where
    exists(
              select 1 from tb where name=t.name
              group by name having count(1)>1
          )


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cq625652580
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-24 17:42:3510楼 得分:0

    查过之后,判断的时候,又出现String不能转换为bool的问题.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cftea
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-24 17:47:1811楼 得分:0
    首先要在数据库中作好唯一性约束,这是最终保障。
    其次在入库时有两种方法:
    一是直接入库,由于设置了唯一性约束,会产生异常,捕捉该异常。
    二是入库之前去 Select 一下,看有没有同名的记录。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wolf_410
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-24 17:55:2112楼 得分:0
    楼上的是一个办法。
    查过之后,判断的时候,又出现String不能转换为bool的问题.
    Convert.ToString()替换啊。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mengjun5200
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-24 17:58:2213楼 得分:0
    引用 1 楼 wxg22526451 的回复:
    插入信息前先查数据库是否有相同信息
    select count(*) from table where..


    那就是这个
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mzmxchenweij
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-24 18:03:1614楼 得分:0
    引用 1 楼 wxg22526451 的回复:
    插入信息前先查数据库是否有相同信息
    select count(*) from table where..


    这样的方法可行
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved