Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2014, 06:57
Sarlit
 
Fecha de Ingreso: diciembre-2014
Mensajes: 111
Antigüedad: 9 años, 5 meses
Puntos: 9
Comparar tabla .xls con tabla en base de datos

Hola,

Estoy intentando comparar la información de un .xls con la información que tengo en una Base de datos. Para colmo de dificultad, estoy trabajando por capas, pero creo que voy a obviarlo por ahora...

La idea es que me compare la información de ambas tablas y me muestre en dos GridViews la información completa de cada fila que no se encuentre en la otra tabla, es decir, algo tipo:
Código:
"SELECT * From TableXls AS xls LEFT JOIN TableSql AS sql ON [xls.DNI=sql.NIF] WHERE sql.NIF IS NULL"
El problema es que no se como hacer para trabajar a la vez con las dos conexiones, mi código hasta ahora es:

Código:
 private void Import_To_Grid(string FilePath, string Extension)
{
     string conStr = "";
     switch (Extension)
     {
          case ".xls": //Excel 97-03
               conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'";
               break;
          case ".xlsx": //Excel 07
               conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'";
               break;
            }
     conStr = String.Format(conStr, FilePath, "Yes");
     OleDbConnection connExcel = new OleDbConnection(conStr);
     OleDbCommand cmdExcel = new OleDbCommand();
     OleDbDataAdapter oda = new OleDbDataAdapter();
     DataTable dt = new DataTable();
     cmdExcel.Connection = connExcel;

     //Aquí iria el código de la conexión a sql server...

     //Get the name of First Sheet
     connExcel.Open();
     DataTable dtExcelSchema;
     dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
     string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
     connExcel.Close();

     //Read Data from First Sheet
     connExcel.Open();
     //Este sería el sql a modificar
     cmdExcel.CommandText = "SELECT * From [" + SheetName + "] WHERE [MES FORMACIÓN] = '" + InsFecha.Text + "'";
     oda.SelectCommand = cmdExcel;
     oda.Fill(dt);
     connExcel.Close();

     //Bind Data to GridView
     GridView1.Caption = "<h1>Datos de otros meses:</h1>";
     GridView1.DataSource = dt;
     GridView1.DataBind();

        }
¿Alguna idea o guía de por donde empezar?

Muchas Gracias