Bạn kiểm tra lại xem nào :
1. Chuỗi kết nối dòng Data Source theo mình phải chỉ định để 1 file cố định nào đó chứ ko phải đến 1 Folder hoặc thiếu phần mở rộng của file đó.
2. Bạn cho Connection.Open() xem nào
Ai bik cách nào không giúp mình với!!
Mình làm như thế này mà nó cứ báo lỗi mình không bik sửa như thế nào mong mọi người giúp đỡ
Code:private void btnNhapDBF_Click(object sender, EventArgs e) { OpenFileDialog fdlg = new OpenFileDialog(); fdlg.Title = "Select file"; fdlg.InitialDirectory = @"..\\khotp\HDBH"; fdlg.FileName = txtFileName.Text; fdlg.Filter = "DBF Files(*.dbf)|*.dbf|All Files(*.*)|*.*"; fdlg.FilterIndex = 1; fdlg.RestoreDirectory = true; if (fdlg.ShowDialog() == DialogResult.OK) { txtFileName.Text = fdlg.FileName; // Import(); Application.DoEvents(); System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\khotp\HDBH;Extended Properties=dBase 5.0"); System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter("select * from hOAdON.DBF", cn); System.Data.DataTable dt = new System.Data.DataTable(); da.Fill(dt);// LỖI DÒNG NÀY "External table is not in the expected format." this.dgvxuathang.DataSource = dt; } }
Bạn kiểm tra lại xem nào :
1. Chuỗi kết nối dòng Data Source theo mình phải chỉ định để 1 file cố định nào đó chứ ko phải đến 1 Folder hoặc thiếu phần mở rộng của file đó.
2. Bạn cho Connection.Open() xem nào
Theo mình chổ Data source như vậy không lỗi đâu bạn ơi!! Còn phần mở rộng thì ở dòng fdlg.Filter = "DBF Files(*.dbf)|*.dbf|All Files(*.*)|*.*"; mình đã lọc ra file có định dạng .dbf rùi!!
Mình nghĩ là project của mình còn thiếu cái j đó thì dữ liệu mới hiển thị ra được!!Vì tới lệnh Fill mới bị lỗi có nghĩa là đã lấy được dữ liệu nhưng không hiển thị ra được!! Biết là vậy nhưng mình không bik cách khắc phục sao!!
Hix không ai giúp mình hết!!
Ngồi sửa lại thế này mà vẫn báo lỗi như cũ:
Lúc đầu báo lỗi chổ Fill(), mình vào reference ép thêm thư viện Microsoft.VisualBasic + VisualFoxpro thì chạy được, dữ liệu đổ lên datagridview đc, hôm sau chạy lại thì báo lỗi chổ đó tiếp, vẫn lỗi như cũ!! Mình cũng đã thử ép reference lại nhưng vẫn không được!! Ai bik làm sao giúp mình với!!Code:private void btnNhapDBF_Click(object sender, EventArgs e) { OpenFileDialog ofdDBF = new OpenFileDialog(); if (ofdDBF.ShowDialog() == DialogResult.OK) { string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ofdDBF.FileName.Substring(0, ofdDBF.FileName.LastIndexOf("\\")) + ";Extended Properties=dBASE IV;"; OleDbConnection conn = new OleDbConnection(connStr); conn.Open(); string cmd_string = "select * from " + ofdDBF.SafeFileName.Substring(0, ofdDBF.SafeFileName.IndexOf(".")); MessageBox.Show(cmd_string); OleDbDataAdapter da = new OleDbDataAdapter(cmd_string, conn); DataSet ds = new DataSet(); da.Fill(ds);// vẫn lỗi dong này dgvxuathang.DataSource = ds.Tables[0]; } }