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:
El problema es que no se como hacer para trabajar a la vez con las dos conexiones, mi código hasta ahora es:"SELECT * From TableXls AS xls LEFT JOIN TableSql AS sql ON [xls.DNI=sql.NIF] WHERE sql.NIF IS NULL"
Código:
¿Alguna idea o guía de por donde empezar?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(); }
Muchas Gracias