如何判断导入数据库的excel表是否有重复记录?
现在要向数据库导入一张excel表,通过判断excel表中的姓<vcFirstName>,名<vcLastName>,联系方式<vcTel>来判断数据是否有重复的。如果有重复的话,把这些重复的记录<只用取出iUserID,vcFirstName,vcLastName,vcTel>取出来生成到另外一张excel表中,并可以导出来。最好能写一个方法,谢谢啦!!
------最佳解决方案-------------------- DataTable dt = new DataTable();
DataRow row = dt.NewRow();
List<string> lstKey = new List<string>();
if (lstKey.Contains(vcFirstName + vcLastName + vcTel))
row["iUserID"] = iUserID;
row["vcFirstName"] = vcFirstName;
row["vcLastName"] = vcLastName;
row["vcTel"] = vcTel;
dt.Rows.Add(row);
else
lstKey.Add(vcFirstName + vcLastName + vcTel);
//TODO Export dt
------其他解决方案--------------------using System.Data.SqlClient;
using System.Data.OleDb;
string strCon = ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;
SqlConnection cn = new SqlConnection(strCon);
cn.Open();
string filename = DateTime.Now.ToString("yyyymmddhhMMss") + FileUpload1.FileName; //获取Execle文件名 DateTime日期函数
string savePath = Server.MapPath(("~\\upfiles\\") + filename);//Server.MapPath 获得虚拟服务器相对路径
FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
DataSet ds = ExecleDs(savePath, filename);//调用自定义方法(返回一个数据集)
Session["ds"] =ds;
DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组
int rowsnum = ds.Tables[0].Rows.Count;
if (rowsnum == 0)
{
Response.Write("<script>alert('Excel表为空表,无数据!')</script>");
return;//当Excel表为空时,对用户进行提示
}
else
&n