2016-08-31 3 views
0

Это мой код, и я хочу, чтобы удалить все данные таблиц FoxPro именованных в SMS_DATA, я попытался ZAP команду, а также также попытался УДАЛИТЬ ВСЕ и ПАК команду с ИСПОЛЬЗОВАНИИ - имя-таблицы, но он не работает, и дает исключение, что:Как выполнить команды foxpro 2.6 (DOS) из C#, которым необходим эксклюзивный доступ к таблице?

System.Data.OleDb.OleDbException (0x80004005): File must be opened exclusively. 

Это мой код:

 string USETBL ="EXECSCRIPT([USE SMS_DATA && Open SMS_DATA table])"; 
    string DELETE="EXECSCRIPT([DELETE ALL])";  
    string PACK="EXECSCRIPT([PACK])"; 

         OleDbConnection con = new OleDbConnection(conStr); 
         try 
         { 

          OleDbCommand cmd = new OleDbCommand(USETBL, con); 
          OleDbCommand cmd1 = new OleDbCommand(DELETE, con); 
          OleDbCommand cmd2 = new OleDbCommand(PACK, con); 

          con.Open(); 
          err.log("connection opened"); 
          cmd.ExecuteNonQuery(); 
          err.log("table in use"); 
          cmd1.ExecuteNonQuery(); 
          err.log("delete executed."); 
          cmd2.ExecuteNonQuery(); 
          err.log("pack executed."); 
          con.Close(); 
         } 
         catch (Exception e) 
         { 
          err.log("Exception:-" + e); 
         } 

ответ

2

Ваша первая линия s hould быть:

EXECSCRIPT([USE SMS_DATA EXCLUSIVE && Open SMS_DATA table]); 

для безопасности я бы также изменить следующие две строки в:

string DELETE="EXECSCRIPT([DELETE ALL IN SMS_DATA])";  
string PACK="EXECSCRIPT([PACK IN SMS_DATA])"; 
+0

Спасибо большое, он работал как шарм .... вы делаете мой день ... –

+0

Теперь я заменил команды DELETE и PACK одной командой ZAP, bcoz ее намного быстрее, и нам не нужно использовать две команды для удаления, но спасибо большое .. –

+0

Да, либо будет работать. У ZAP есть соображения, когда триггеры таблицы или базы данных не будут срабатывать, когда они будут с DELETE \ PACK, но я предполагаю, что это не проблема в вашем случае. –

 Смежные вопросы

  • Нет связанных вопросов^_^