怎么检查数据库里面重复数据
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(@型号,@状态,@名称) "
@指用参数
------解决方案--------------------设置主键...比如一个用户名
你插入前先查询有没有这个用户名的数据..
如果有的话就提示存在..如果没有就插入.