Во-первых, (может быть тип-о), у вас было
create dbf Critera (missing the "i")
, а затем
select * from Criteria (has the "i")
Если не так ... для вашей строки подключения, вы просто подключаетесь к PATH, в которой будут находиться файлы .dbf, или вы явно подключаетесь к пути и базе данных.
Если просто путь
string YourVFPConnectionString =
"Provider=VFPOLEDB.1;Data Source=c:\\SomePath\\WhereDataIs\\";
Или с конкретным контейнером базы данных
string YourVFPConnectionString =
"Provider=VFPOLEDB.1;Data Source=c:\\SomePath\\WhereDataIs\\YourDatabase.dbc";
Это может быть проще проверить, просто указав на каталог. Поставщик VFP OleDB рассмотрит путь к корню для всех запрашиваемых таблиц по сравнению с полным .dbc (контейнером базы данных), который может дать вам доступ к другим хранимым процедурам и т. Д.
OleDb не поддерживает "DROP TABLE". Вы по-прежнему можете удалить файл, запустив ERASE «Criteria.dbf» через ExecuteNonQuery ()
OleDbCommand.
Что касается последнего, VFP не использует ";" как разрыв между утверждениями, как это делают другие механизмы SQL, где вы можете отправлять серию запросов все вместе один за другим. ";" в VFP считается «эта команда продолжается на следующей строке» и должна была выдать исключение, если она не смогла бы ее обработать.