![]() |
#23 |
Участник
|
Что касается синтаксиса, то вот...
Структура dbf: W:\Balans_N\OB23.DBF Количество записей: 4547 N Имя поля Тип Длина --------------------------------- 1 MES Date 8 2 PACH Numeric 3 3 INV_N Numeric 5 4 VIDOB Numeric 1 5 CEX_KR Numeric 2 6 SH_KR Numeric 2 7 AN_KR Numeric 8 8 CEX_OS Numeric 2 9 SH_OS Numeric 2 10 AN_OS Numeric 8 11 SUMMA Numeric 18.2 12 KOLI Numeric 14 13 KPOTR Numeric 10 14 SUM_PL Numeric 15.2 15 VP Numeric 2 16 CHM_N Numeric 2 17 NAME_S Character 45 --------------------------------- Всего: 148 На одной кнопке: void clicked() { CCADOConnection cn = new CCADOConnection(); CCADOCommand command = new CCADOCommand(); CCADORecordset rs = new CCADORecordset(); str _str = ""; str filename; int pos; FileNameFilter filter; ; super(); filter = ['DBF files','ob23*.dbf']; filename = Winapi::getOpenFileName(element.hWnd(),filter,'','', '',''); pos = StrScan(StrUpr(filename),"OB23",1,255); _str = SubStr(StrUpr(filename),1,pos-1); cn = new CCADOConnection(); cn.open("Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq="+_str+";"); command.activeConnection(cn); _str = "select * from "+SubStr(StrUpr(filename),pos,StrLen(StrUpr(filename))); command.commandText("select * from "+SubStr(StrUpr(filename),pos,StrLen(StrUpr(filename)))); if (cn) { rs = command.execute(); while (!rs.EOF()) { OB23.PACH = rs.fields().itemname("PACH").value(); OB23.INV_N = rs.fields().itemname("INV_N").value(); OB23.MES = rs.fields().itemname("MES").value(); OB23.CEX_KR = rs.fields().itemname("CEX_KR").value(); OB23.VIDOB = rs.fields().itemname("VIDOB").value(); OB23.SH_KR = rs.fields().itemname("SH_KR").value(); OB23.NAME_S = rs.fields().itemname("NAME_S").value(); OB23.CHM_N = rs.fields().itemname("CHM_N").value(); OB23.VP = rs.fields().itemname("VP").value(); OB23.SUM_PL = rs.fields().itemname("SUM_PL").value(); OB23.KPOTR = rs.fields().itemname("KPOTR").value(); OB23.KOLI = rs.fields().itemname("KOLI").value(); OB23.SUMMA = rs.fields().itemname("SUMMA").value(); OB23.AN_OS = rs.fields().itemname("AN_OS").value(); OB23.AN_OS = substr('0000000'+OB23.AN_OS,strlen(OB23.AN_OS),8); OB23.CEX_OS = rs.fields().itemname("CEX_OS").value(); OB23.SH_OS = rs.fields().itemname("SH_OS").value(); OB23.AN_KR = rs.fields().itemname("AN_KR").value(); OB23.AN_KR = substr('0000000'+OB23.AN_KR,strlen(OB23.AN_KR),8); OB23.insert(); rs.moveNext(); } rs.close(); OB23_DS.executeQuery(); } } На другой: void clicked() { OdbcConnection connection; LoginProperty LP = new LoginProperty(); Statement stm; ResultSet res; str stmTxt = "select * from ob23.dbf"; ; super(); LP.setDSN("DBF"); connection = new OdbcConnection(LP); stm = connection.createStatement(); res = stm.executeQuery(stmTxt); while (res.next()) { OB23.MES = res.getDate(1); OB23.PACH = res.getInt(2); OB23.INV_N = res.getInt(3); OB23.VIDOB = res.getInt(4); OB23.CEX_KR = res.getInt(5); OB23.SH_KR = res.getInt(6); OB23.AN_KR = int2str(res.getInt(7)); OB23.CEX_OS = res.getInt(8); OB23.SH_OS = res.getInt(9); OB23.AN_OS = int2str(res.getInt(10)); OB23.SUMMA = res.getReal(11); OB23.KOLI = res.getInt(12); OB23.KPOTR = Num2Str(res.getReal(13),10,0,1,0); OB23.SUM_PL = res.getReal(14); OB23.VP = res.getInt(15); OB23.CHM_N = res.getInt(16); OB23.NAME_S = res.getString(17); OB23.insert(); } res.close(); OB23_DS.executeQuery(); } |
|
|
![]() |
||||
Тема | Ответов | |||
Как обновить форму, если добавление через кнопку? | 5 | |||
Бинарные данные в Axapta | 4 | |||
Вытащить данные на форму | 25 | |||
Можно ли редактировать форму, если на нее наложен addRange? | 10 | |||
почти DBF | 3 |
|