Вот рабочий пример - посмотрите его - наверное имеет смысл так сделать. Правда не сделал проверку на наличие файла.
X++:
static void CReateDBFCustomer_RContract(Args _args)
{
CCADOConnection dBF_Con;
CCADOCommand aDO;
CCADORecordset aDR;
str filePath = 'c:\\1\\', fileName = '001.dbf';
str cmdText, cmd_del, cmd_value;
CustTable CustTable;
RContractTable RContractTable;
;
dBF_Con = new CCADOConnection();
aDO = new CCADOCommand();
aDR = new CCADORecordset();
dBF_Con.open("Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Extended Properties=dbase 5.0;Data Source="+filePath+";");
ADO.activeConnection(dBF_Con);
if (dBF_Con)
{
cmd_del = "DROP Table "+ fileName;
ADO.commandText(cmd_del);
ADR = ADO.execute();
cmdText = " CREATE TABLE " + fileName + " (ACCOUNTNUM char(20), DATEDOG date, NDOG char(20), DOGACCOUNT char(10))";
ADO.commandText(cmdText);
ADR = ADO.execute();
while select RContractTable
{
cmd_value = strfmt("%1', '%2', '%3', '%4')", RContractTable.RContractPartnerCode, date2str(RContractTable.ContractDate, 123, 2, -1, 2, -1, 2),
RContractTable.RContractNumber, RContractTable.RContractAccount);
cmdText = "insert into " + fileName + " (ACCOUNTNUM, DATEDOG, NDOG, DOGACCOUNT) values ('" + cmd_value ;
ADO.commandText(cmdText);
ADR = ADO.execute();
}
}
}