
我的数据库中的一个表有个字段是sign,sign是一个字符串,
现在有一条数据,也包含sign,如果数据库中已经存在这个sign,那么该条数据就不再插入,如果不存在,再插入
我现在使用的办法是,每次插入的时候,都去数据库中使用SqlDataReader去读,这样效率奇低
目前想到的改进思路是,将该字段读取出来,保存到一个数组或类似List<>这样的结构里,再检测存在性。同时,如果检测到存在,最好能将数组中的该字符串清除出列,因为接下来的继续要比较的字符串不可能再有与已经比较过的重复了,清除出去应该也能再加快一点比较的速度。
目前的代码如下
//加入唯一性判断
SqlDataReader sdr = objbll.checkObjSign(aObj);
if (sdr != null)
{
if (sdr.Read())
{
//this.TextBox1.Text += obj.name + "已经添加过\r\n";
}
else
{
insertObjAmount += objbll.insert(aObj);
}
}
求指导