我試圖寫一個程序來讀取一個dbf文件,並把它放到一個數據表。我沒有太多使用FoxPro數據庫的經驗。 下面是打開dbf的函數。我將文件名傳遞給函數。C#DBF錯誤打開
private DataTable loadFile(string FileName)
{
System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();
conn.ConnectionString = "DRIVER={Microsoft dBase Driver (*.dbf)};Deleted=1";
DataTable dt = new DataTable();
try
{
conn.Open();
System.Data.Odbc.OdbcCommand comm = new System.Data.Odbc.OdbcCommand();
comm.CommandText = @"SELECT * FROM " + @FileName;
comm.Connection = conn;
dt.Load(comm.ExecuteReader());
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally{
conn.Close();
}
return dt;
}
的文件名變量是
"C:\\Users\\psun\\Desktop\\New folder\\plog.DBF"
在運行時我得到這個錯誤
ERROR [42000] [Microsoft][ODBC dBase Driver] Syntax error in FROM clause.
at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod)
at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader)
at System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Odbc.OdbcCommand.ExecuteReader()
at UpLoad.Form1.loadExcel(String FileName) in c:\Users\psun\Documents\Visual Studio 2012\Projects\PLOGReader\PLOGReader\Form1.cs:line 60
不能使用表名的參數。 –