日期:2014-05-18  浏览次数:20382 次

这个问题不简单吧!
现在有个页面,功能是将excel文件导入到SQL数据库的,页面上有1个dropdownlist、1个input(file)和一个导入button,还有一个gridview
在导入的时候,有excel文件中的数据有可能于SQL表中的主键重复的,则不将此项导入到SQL。
问题,我想将excel文件中与SQL主键重复的数据现在是在gridview中.因为关系到好几个表,所以我想gridview的内容只能由CS代码进行操作。
例如:dropdownlist选择了student表
          excel文件里有:
          name       sex       age       class
          小明         男         18           5班
          小红         女         18           4班
          小黄         男         19           3班
  SQL的student表里有:     (name是主键)
          name       sex       age       class
          小红         女         19           5班

我要将:   name       sex       age       class           ←此数据为excel里的
                小红         女         18           4班
显示在gridview中。。
我里面判断重复的代码  
strSql   =   "select   *   from   rsm_upsoscreen   where   roomid= ' "   +   myDs.Tables[0].Rows[i].ItemArray[0].ToString()   +   " 'and   outscreenid= ' "   +   myDs.Tables[0].Rows[i].ItemArray[1].ToString()   +   " ' ";
                                                        SqlDataAdapter   myAda   =   new   SqlDataAdapter(strSql,   mySqlConn);
                                                        myAda.Fill(myDs,   "Temp ");
                                                        if   (myAda.Fill(myDs,   "Temp ")   !=   0)
                                                        {//将此记录加到DateSet里,我不会写。。
                                                        }
                    后面将如何将DateSet里的内容显示到gridview里呢

------解决方案--------------------
//Excel文件的连接
    string excelConnectionString = "Provider = Microsoft.Jet.OleDb.4.0; Data Source = " + Excel文件路径 + " ; Extended Properties=Excel 8.0; ";
OleDbConnection excelConn = new OleDbConnection(excelConnectionString);
excelConn.Open();
OleDbCommand excelCmd = new OleDbCommand(