日期:2014-05-19  浏览次数:20512 次

怎么检查数据库里面重复数据
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(@型号,@状态,@名称) "

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

如果有的话就提示存在..如果没有就插入.