2012-07-09 89 views
0

幫助。在這一行失敗:adapter.Fill(ds); //錯誤檢查名稱無效,它不包含無效字符或標點符號,也不會太長。選擇DBF文件的Openfiledialog錯誤

 openFileDialog1.Title = "Выбрать файл"; 
     openFileDialog1.InitialDirectory ="C:\\";   
     openFileDialog1.Filter = "dbf файлы (*.dbf)|*.dbf";    
     openFileDialog1.FilterIndex = 2;   
     openFileD`ial`og1.RestoreDirectory = true; 
     openFileDialog1.FileName = ""; 


     if (openFileDialog1.ShowDialog() == DialogResult.OK) 
     { 
string fullPathname = openFileDialog1.FileName; 
        FileInfo fi = new FileInfo(fullPathname); 
        string open_b = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fi.Directory + ";Extended Properties=dBase 5.0;Mode=Read|Write|Share Deny None;Persist Security Info=True"; 
        OleDbConnection con = new OleDbConnection(); 
        con.ConnectionString = open_b; 
        con.Open(); 



       string vibor_t = "Select * From '" + fi.Name + "'"; 
       //string vibor_t = "Select * From '" + Path.GetFileNameWithoutExtension(fi.Name) + "'"; 

       OleDbDataAdapter adapter = new OleDbDataAdapter(vibor_t, con); 
       DataSet ds = new DataSet(); 
       adapter.Fill(ds); // ERROR 
       con.Close(); 
       this.dataGridView1.DataSource = ds.Tables[0]; 
+0

fi.Directory是不是一個有效的數據源。改用openFileDialog1.FileName。 – 2012-07-09 13:26:09

回答

0

你得從fi.Name刪除擴展,並刪除單qotes,這樣的事情:

string vibor_t = "Select * From " + Path.GetFilenameWithoutExtension(fi.Name); 
+0

Antonio Bakula,謝謝! ! !有用。 – kirill 2012-07-10 04:48:48