2012-06-08 4 views
3

오류 : 쿼리의 구문 오류. 불완전한 쿼리 절. 도와주세요.C#의 DBF 파일 판독기

 string db_file = null; 
     OpenFileDialog op = new OpenFileDialog(); 
     op.InitialDirectory = Application.StartupPath + "\\out"; 
     op.Filter = "DBF file|*.dbf"; 
     if (op.ShowDialog() == DialogResult.OK) 
     { 
      db_file = op.FileName; 
      FileInfo fi = new FileInfo(op.FileName); 

        String ConnectionString; 
        ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fi.DirectoryName + ";Extended Properties=dBase 5.0;Mode=Read|Write|Share Deny None;Persist Security Info=True"; 
      System.Data.OleDb.OleDbConnection dBaseConnection; 
      dBaseConnection = new System.Data.OleDb.OleDbConnection(ConnectionString); 
      dBaseConnection.Open(); 
      System.Data.OleDb.OleDbCommand dBaseCommand; 

       dBaseCommand = new System.Data.OleDb.OleDbCommand("Select * From '" + Path.GetFileNameWithoutExtension(fi.Name) + "'", dBaseConnection); 
      System.Data.OleDb.OleDbDataReader dBaseDataReader; 
      dBaseDataReader = dBaseCommand.ExecuteReader(); 
      while (dBaseDataReader.Read()) 
      { 
       MessageBox.Show("x"); 
      } 
      dBaseDataReader.Close(); 

오류 : 쿼리에서 구문 오류. 불완전한 쿼리 절. 따옴표없이

("Select * From " + Path.GetFileNameWithoutExtension(fi.Name) , dBaseConnection) 

'경로 ..'

+0

select 쿼리로 파일을 읽는 동안 확장명을 제거하지 마십시오. –

+0

인용문이 있어야합니까? Path.GetFileNameWithoutExtension (fi.Name) 주위 – roryok

답변

0

VfpOleDb provider을 사용하시기 바랍니다. 다음은 해당 공급자를 사용하는 연결 문자열입니다.

ConnectionString = "Provider=VfpOleDb;Data Source=" + fi.DirectoryName; 
+0

감사합니다. 완전한. 작동합니다. –

+0

@ AzikАббасOFF,이 작업을했기 때문에이 답변 옆에있는 체크 표시를 클릭하여 크레딧을 주어야 다른 사람들이 지원에 대한 답변이 필요한 공개 질문을 생각하지 않도록하십시오. – DRapp

0

이보십시오.

희망이 있습니다.