Como puedo leer varios archivos dbf c# y luego filtrar u buscar informacion entre ellos para luego mostralo en un grid actualmente hago esto y me funciona:
Este codigo me funciona pero como ven tengo que seleccionar el archivo y me lo muestra en un grid...
Gracias
Jose Pereira
Código
private void button1_Click(object sender, EventArgs e) { fdlg.Title = "Seleccione un Archivo"; // fdlg.InitialDirectory = @"C:\FoxPro\CAJ&BAN\Dbf005\C&B0015.DBF\"; // fdlg.FileName = @"C:\FoxPro\NCTAXPAG\dbf002\CXP_107A.DBF"; fdlg.FileName = @"C:\FoxPro\NCTAXPAG\dbf002\CXP_FILE.DBF"; //fdlg.FileName = txtFileName.Text; fdlg.Filter = "DBF Files(*.dbf)|CXP_ARCH.DBF"; //fdlg.Filter = "DBF Files(*.dbf)|C&B0015.DBF|All Files(*.*)|*.*"; fdlg.FilterIndex = 1; fdlg.RestoreDirectory = true; if (fdlg.ShowDialog() == DialogResult.OK) { txtFileName.Text = fdlg.FileName; Import(); Application.DoEvents(); } } private void Import() { if (txtFileName.Text.Trim() != string.Empty) { try { DataTable dt = GetDataTableDBF(txtFileName.Text); Dgvlista.DataSource = dt.DefaultView; } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } } public static DataTable GetDataTableDBF(string strFileName) { System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection("Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + System.IO.Path.GetFullPath(strFileName).Replace(System.IO.Path.GetFileName(strFileName), "") + ";Exclusive=No"); conn.Open(); string strQuery = "SELECT * FROM [" + System.IO.Path.GetFileName(strFileName) + "]"; adapter.Fill(ds); return ds.Tables[0]; }
[MOD]: Hay unas reglas que seguir, cualquier (siguiente) mensaje que no utilice las etiquetas de código podrá ser eliminado sin previo aviso.