Показать сообщение отдельно
Старый 05.04.2013, 08:15   #11  
asd1274 is offline
asd1274
Участник
Компания АМАНД
 
32 / 12 (1) ++
Регистрация: 29.09.2008
Адрес: Ковров
Вот рабочий пример - посмотрите его - наверное имеет смысл так сделать. Правда не сделал проверку на наличие файла.

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();

        }

     }
}