Автор | Сообщение |
|
| |
Пост N: 2932
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.04.13 20:38. Заголовок: Как прицепится к ADS по сети ?
Есть ADS 10.10 в настройках у него стоит порт 6262 Вот таким исходником пытаюсь к нему подрубиться. #include "ads.ch" proc main REQUEST ADS rddSetDefault( "ADSCDX" ) SET SERVER REMOTE SET CHARTYPE TO OEM ? AdsConnect("MYSERVER") // .f. ? AdsConnect("//127.0.0.1/:6262") // .f. return ADS.INI в папке с прогой [MYSERVER] LAN_IP=127.0.0.1 LAN_PORT=6262 Где мой косяк ?
|
|
|
Ответов - 257
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
All
[только новые]
|
|
|
| |
Пост N: 3916
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.14 13:57. Заголовок: Haz пишет: ROWID ду..
Haz пишет: цитата: | ROWID думаю тоже можно поправить - определять его в образующем SELECT ROWID AS R, VaolvoAt.* INTO # тогда в темпбазу он должен перейти полем R.... ходя не проверял ( проверил - редактируется |
| Cамое то
|
|
|
|
| |
Пост N: 3917
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.14 14:10. Заголовок: что то косяк вылазит..
что то косяк вылазит. все вроде норм проходит а ошибка есть sQlStr:="SELECT ROWID AS Recs , INDEKS INTO #TmpBase FROM volvoAT WHERE MARKA=1 and naim like '%B%'" ? dosql(sQlStr) //0 sele adssql set relation to Decode64(right(recs,6)) into volvo browse() sQlStr:="DROP TABLE #TmpBase" set relation to adssql->(dbclosearea()) ? AdsCreateSQLStatement(,2) // .t. ? ADSVERIFYSQL(sQlStr) // .t. ? AdsExecuteSqlDirect(sQlStr) //.t. ? AdsGetLastError() // 5018 к чему бы это и что я сделал не так ?
|
|
|
|
| |
Пост N: 189
Зарегистрирован: 20.02.11
|
|
Отправлено: 06.04.14 15:26. Заголовок: Dima пишет: 5018 ..
По MARKA надеюсь индекс есть для оптимизации))) эта и у меня постоянно вылазит , забил
|
|
|
|
| |
Пост N: 3918
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.14 15:27. Заголовок: Haz пишет: забил ..
Haz пишет:
|
|
|
|
| |
Пост N: 190
Зарегистрирован: 20.02.11
|
|
Отправлено: 06.04.14 15:33. Заголовок: вижу все заработало ..
вижу все заработало , поздравляю
|
|
|
|
| |
Пост N: 3919
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.14 15:35. Заголовок: Haz Спасибо без теб..
Haz Спасибо без тебя не разобрался бы !
|
|
|
|
| |
Пост N: 3920
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.14 15:38. Заголовок: Планирую еще сложные..
Планирую еще сложные отчеты переделать , чую SQL тут должен помочь Точнее выборку для них.
|
|
|
|
| |
Пост N: 191
Зарегистрирован: 20.02.11
|
|
Отправлено: 06.04.14 15:45. Заголовок: Dima пишет: не разо..
Dima пишет: разобрался бы , если б захотел и не бросил )) цитата: | Планирую еще сложные отчеты переделать |
| установи Advantage Database Architect - помогает ошибки в запросах ловить
|
|
|
|
| |
Пост N: 3921
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.14 15:47. Заголовок: Haz пишет: установи..
Haz пишет: цитата: | установи Advantage Database Architect |
| Стоит давно уже. Haz пишет: цитата: | разобрался бы , если б захотел и не бросил )) |
| на это ушло бы очень много времени
|
|
|
|
| |
Пост N: 3924
Зарегистрирован: 17.05.05
|
|
Отправлено: 07.04.14 10:24. Заголовок: Haz Есть вопросик. ..
Haz Есть вопросик. Собственно вот так я выбираю остатки товара на дату. Пример не самодостаточный но вполне понятен. А вот как такую же выборку в базу VREM сделать с помощью SQL запроса ? sele nomen do while !eof() f_nomer:=nomen->nomer sele karta ost:=0 if dbseek(f_nomer) karta->(dbOrderInfo(DBOI_SCOPEBOTTOM,,,f_nomer)) do while !eof() if karta->data_z>dth2 skip loop endif ost+=(karta->prixod-karta->rasxod) skip enddo karta->(dbOrderInfo(DBOI_SCOPEBOTTOMCLEAR)) VREM->(dbappend()) repl VREM->ostat with ost,; VREM->cod with nomen->cod,; VREM->naim with nomen->naim endif sele nomen skip enddo
|
|
|
|
| |
Пост N: 192
Зарегистрирован: 20.02.11
|
|
Отправлено: 07.04.14 10:47. Заголовок: Dima пишет: А вот к..
Dima пишет: примерно так do !nomen->(eof()) cSql := "select SUM( prixod - rasxod ) AS ost from karta where data_z <= dth2 and nomer = '" + nomen->nomer + "'" SQL( cAlias, cSql) If !(cAlias)->(Eof()) VREM->(dbappend()) VREM->ostat := cAlias->ost VREM->cod := nomen->cod VREM->naim := nomen->naim END cAlias->(DbCloseArea()) nomen->(DbSkip(1)) end где nomer - имя поля по которому SCOPE ( из примера на ясно как звать ) можно подумать как вообще обойтись одним запросом базы большие ? мож на мыло прислать ?
|
|
|
|
|
| |
Пост N: 3925
Зарегистрирован: 17.05.05
|
|
Отправлено: 07.04.14 10:50. Заголовок: Haz пишет: где nome..
Haz пишет: цитата: | где nomer - имя поля по которому SCOPE ( из примера на ясно как звать ) |
| Это уникальный номер складской карточки. Думаешь с таким запросом быстрее будет работать нежели по старинке ?
|
|
|
|
| |
Пост N: 193
Зарегистрирован: 20.02.11
|
|
Отправлено: 07.04.14 10:54. Заголовок: Dima пишет: базы бо..
Dima пишет: цитата: | базы большие ? мож на мыло прислать ? |
|
|
|
|
|
| |
Пост N: 3926
Зарегистрирован: 17.05.05
|
|
Отправлено: 07.04.14 10:58. Заголовок: Да вышлю чуть позже...
Да вышлю чуть позже.
|
|
|
|
| |
Пост N: 3927
Зарегистрирован: 17.05.05
|
|
Отправлено: 07.04.14 11:17. Заголовок: Отправил..
Отправил
|
|
|
|
| |
Пост N: 194
Зарегистрирован: 20.02.11
|
|
Отправлено: 07.04.14 11:28. Заголовок: Dima пишет: можно п..
Dima пишет: цитата: | можно подумать как вообще обойтись одним запросом |
| где то так SELECT N.NOMER, N.COD, N.NAIM, O.OST FROM NOMEN N LEFT JOIN ( SELECT SUM (K.PRIXOD -K.RASXOD) AS OST, K.NOMER FROM KARTA K WHERE K.DATA_Z <= KDTH2 GROUP BY K.NOMER ) O ON N.NOMER = O.NOMER сейчас по твоей базке погоняю
|
|
|
|
| |
Пост N: 195
Зарегистрирован: 20.02.11
|
|
Отправлено: 07.04.14 11:50. Заголовок: вот результат SELECT..
вот результат SELECT N.NOMER, N.COD, N.NAIM, O.OST FROM NOMEN N LEFT JOIN ( SELECT SUM (K.PRIXOD - K.RASXOD) AS OST, K.NOMER FROM KARTA K WHERE K.DATA_Z <= '01.01.2013' GROUP BY K.NOMER ) O ON N.NOMER = O.NOMER обязательны индексы по NOMER DATA_Z PS: если таблицы конвертнуть в родной для ADS формат .ADT - запрос выполняется почти в два раза быстрее
|
|
|
|
| |
Пост N: 3928
Зарегистрирован: 17.05.05
|
|
Отправлено: 07.04.14 14:18. Заголовок: Сколько примерно по ..
Сколько примерно по времени формировалась такая выборка на 01.01.2013 ?
|
|
|
|
| |
Пост N: 3929
Зарегистрирован: 17.05.05
|
|
Отправлено: 07.04.14 14:37. Заголовок: Dima пишет: sQlStr:..
Dima пишет: цитата: | sQlStr:="SELECT ROWID AS Recs , INDEKS INTO #TmpBase FROM volvoAT WHERE MARKA=1 and naim like '%B%'" |
| Haz А каким образом я могу устроить SEEK по этой базе #TmpBase. Как то можно создать такой же временный индекс в памяти ?
|
|
|
|
| |
Пост N: 196
Зарегистрирован: 20.02.11
|
|
Отправлено: 07.04.14 14:39. Заголовок: 10 сек на старом ком..
10 сек на старом компе с XP
|
|
|
Ответов - 257
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
All
[только новые]
|
|