当前位置: 代码迷 >> ASP.NET >> 如何检查数据库里面重复数据
  详细解决方案

如何检查数据库里面重复数据

热度:1129   发布时间:2013-02-26 00:00:00.0
怎么检查数据库里面重复数据
string   xinghao   =   txt_style_inserttable.Text;
                string   ztai   =   txt_state_inserttable.Text;
                string   name   =   txt_name_inserttable.Text;

                string   conn   =   "Provider=Microsoft.Jet.OLEDB.4.0;   Data   source= "   +   Server.MapPath( "cangku.mdb ");
                OleDbConnection   oledbconn   =   new   OleDbConnection(conn);

                string   sql   =   "insert   into   lingjian   values   ( ' "+xinghao+ " ', ' "+ztai+ " ', ' "+name+ " ') ";

                OleDbCommand   cmd   =   new   OleDbCommand(sql,oledbconn);
                try
                {
                        cmd.Connection.Open();
                        cmd.ExecuteNonQuery();

                        txt_name_inserttable.Text   =   null;
                        txt_state_inserttable.Text   =   null;
                        txt_style_inserttable.Text   =   null;
                        Label1.Text   =   "插入成功! ";
                }

怎么实现先发现数据库里面的数据有没重复?   然后再插入?

------解决方案--------------------------------------------------------
假设ID是主键或唯一字段
string sql = "if not exists (select 1 from tb where id=@id) insert into tb values(@id) "
int count = cmd.ExecuteNonQuery();//返回0,有重复,插入失败,返回1成功

------解决方案--------------------------------------------------------
无关键字段,那是表设计太差了。

string sql = "if not exists (select 1 from tb where 型号=@型号 and 状态=@状态 and 名称=@名称) insert into tb values(@型号,@状态,@名称) "

@指用参数
------解决方案--------------------------------------------------------
设置主键...比如一个用户名
你插入前先查询有没有这个用户名的数据..

如果有的话就提示存在..如果没有就插入.
  相关解决方案