|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
У меня на вновь созданной форме DE отсутствует, скажу больше - На ней нет даже Labelов и Commandов тоже нет! и даже назвать себя она красиво не смогла (типа Габриэлла1) - скромненько Form1. По всей видимости у меня среда разработки FoxPro9 плохая. Всё приходится делать ручками и элементы добавлять и писать к ним код. А так представте, создаёшь новуя форму и вот она - Габриэлла1 уже c DE, кнопками и надписями. И конечно, добавлять на неё второй DE уже извращение. Может и правда я не в том Фоксе работаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 15:57 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
Людмila Не совсем понятна ваша проблема. Возможно это: Посмотрите строку - Tools-Options-Forms-Form, там дожны быть ваша .vcx и в ней ваш класс. Если строка пустая, то форма создается родная фоксовская. Не забудьте сохранить Set As Default. Или Откройте форму как класс: Tools-Class Browser-Open-Тип файлов-Form Затем Правая кнопка-Redefine-найти свою .vcx и в ней свой класс. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 18:08 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
Людмilaа лучше подскажите как из табл со структурой field 1 | f2 | f3 | f4 | Иванов | 0 | 0 | 1 | Петров | 0 | 1 | 0 | Сидров | 1 | 0 | 0 | сделать программно таблицу Иванов | Петров | Cидров | 0 | 0 | 1 0 | 1 | 0 1 | 0 | 0Типа так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
Ну, можно ещё добавить контроль-приведение типов и размера полей, можно задавать и список полей для транспонирования, можно попробовать обойтись выделением памяти только под один массив размера nRec*nFields... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 19:06 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
sg12Людмila Не совсем понятна ваша проблема. Боже упаси! Никакая это не проблема. Пусть форма при создании будет пустая, а всё остальное добавим по мере необходимости. К примеру в моём приложении 12-15 форм все они разительно отличаются друг от друга и только в двух из них использую DataEnvironment. Так нужен он мне по умолчанию при создании формы? конечно же Нет. Честно говоря ещё пару месяцев назад имела смутные представления об этом элементе. ОГромное СП AndreTM, чуть попозже попробую протестить на своих таблицах. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 19:50 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
>>>where like(left(Fam,5)+'o*',Fam) && по-руски все записи у которых в Фамилии пятый символ "о" >>Для строк короче пяти символов смысл этого выражения будет немножко другим. >нормально так. КАким?!? Пример: Код: plaintext 1. 2. 3. 4.
Код: plaintext 1. 2. 3.
Людмilaа лучше подскажите как из табл со структурой field 1 | f2 | f3 | f4 | Иванов | 0 | 0 | 1 | Петров | 0 | 1 | 0 | Сидров | 1 | 0 | 0 | сделать программно таблицу Иванов | Петров | Cидров | 0 | 0 | 1 0 | 1 | 0 1 | 0 | 0В поиск по "pivot". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 08:26 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
Вот это другое дело! Спасибо за ликбез. проверила-перепроверила. Считала, что Left('ABC',5)+'o*' будет 'ABC o*' ну а в переводе ошибочка вышла - трансляция снукера по Евроспорту началась, а вот "PIVOT" для меня совершенно новое слово. опять же спасибо, поищу! Помниться наш препод на лекции (шутя отвлекшись от темы) продемонстрировал как это делается SELECTom развернул таблицу что все строки стали колонками, а колонки строками (умнейший был Дядька, но злоупотреблял) и скорее всего я эту Фишку не записала - по третьему разу просматриваю старые лекции. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 14:24 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
И вот что сказал Гугл "Пивот это инструмент, которым могут пользоваться как трейдеры торгующие во флете, так и те, которые торгуют на пробой. Первые используют пивот для определения точек разворота, вторые используют пивот, чтобы определить ключевые уровни для пробития цены". что-то я не пойму каким боком мне ПИВОТ пристроить к моей задумке - по всей видимости это шутка!? Сейчас я имею расписание приемов врачей DE>>CA-обновление по таймеру в формате в р а ч | 13:00 | 13:45 | - заголовок Иванова | зант| своб| ............- строка Петрова | своб| зант| ............- строка хотелось бы иметь возможность по клику переделать изображение на Иванва | Петрва | - заголовок 13 : 00 | 13 : 00 | - строка 13 : 45 | 13 : 45 | - строка возможно два грида один из которых Visible=.F. но источник данных один и тот же ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 15:01 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 15:47 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
В поставке VFP есть классы _xtab и pivottable , можно ими просто воспользоваться. Я же считаю, что у вас проблема в том, что вы на основе одного отображения (которое "расписание") пытаетесь создать другое отображение, хотя надо просто создавать сразу оба отображения из одного источника. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 21:34 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
AndreTM, полностью с Вами согласна, безусловно из одного источника. планирую разместить их в разных Гридах друг-за-другом один из которых Visible=.F. По желанию пользователя можно будет переключиться на другой грид - поменяв Visible обоих. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 22:24 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
Людмila, Ну так изобразите структуру источника - и, думаю, нужную пару селектов вам сразу же покажут ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 22:28 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
Думаю, что покажут. Но, насколько меня хватит, буду делать сама. В любом случае спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 23:07 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
Уважаемые, коллеги! Хочу вернуться к первоначальной теме. Пытаюсь организовать асинхронный режим. 1 При - ** СА.MaxRecords = 100 СА.FetchSize = -1 СА .FetchAsNeeded = .F. естественно загружает все в Грид 2 При - СА.MaxRecords = 100 СА.FetchSize = 100 СА .FetchAsNeeded = .Т. - Грид пустой 3 и только при - СА.MaxRecords = 100 СА.FetchSize = -1 - !!!! СА.FetchAsNeeded = .T. загружается первые 100 записей ????? почему СА.FetchSize = -1 и как в Гриде загрузить следующую порцию ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 12:55 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
FetchSize Property HELP... If nValue is -1, Visual FoxPro retrieves the complete result set, which is limited by the value of the MaxRecords property. т.е. MaxRecords и FetchAsNeeded работают когда FetchSize = -1 FetchAsNeeded = .T. это не асинхронный режим. Тут запрос полностью выполняется на сервере и сервер возвращает первые MaxRecords записей а остальные лежат на сервере и ждут пока их клиент заберет. Листая грид они докачиваются. Как принудительно докачать я не знаю. Не пользуюсь FetchAsNeeded = .T., т.к. тут есть другой подвох - пока весь результат запроса не забран с сервера нельзя выполнить другой запрос через это соединение, ошибка происходит, что-то типа "connection busy". ЗЫ Если подозреваешь что запрос по разному отрабатывает через CA и SQLexec() - включи трассировку ODBC и посмотри лог для каждого случая. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 13:49 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
VIVA_CAвремя на 80тыс записях в 1вар -3сек а на 2вар- 6сек Подумай, так ли нужны пользователю 80 тыс. записей? Смотреть в гриде устанет. Может лучше интерфейс как-то переделать? Я на всех запросах ставлю top. Например делаешь запрос Код: sql 1.
после проверяешь Код: sql 1. 2. 3.
Потом размер записи можно уменьшить, выбирать только нужные поля а не все, т.е. вместо * перечислить нужные поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 14:59 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
Подумай, так ли нужны пользователю 80 тыс. записей? Смотреть в гриде устанет. Dima T естественно с Вами согласен, но случаи бывют разные. В ранних топиках попадались статьи об успешной организации асинхронного режима на базе СА. Установив (повторяюсь) СА.FetchSize = 100 СА .FetchAsNeeded = .Т. хотелось бы повторить подвиг включи трассировку ODBC и посмотри лог для каждого случая. - Если не затруднит - подробнее как это сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 17:34 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
VIVA_CAВ ранних топиках попадались статьи об успешной организации асинхронного режима на базе СА. Тут вроде как надо еще асинхронный режим соединения включить. Код: sql 1.
Пробовал это для SQLEXEC() - работает, но скорость получения результата в разы ниже. VIVA_CAвключи трассировку ODBC и посмотри лог для каждого случая. - Если не затруднит - подробнее как это сделать Панель управления - ODBC - вкладка Трассировка это в W7, в XP было в администрировании. Пример на картинке. Задаешь лог и жмешь "Пуск трассировки". ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 19:02 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
Dima T благодарю! Когда что-то получится отпишусь. Текучка отвлекает. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 10:24 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
Включил трассировку Включил SQLSETPROP(handle, 'Asynchronous', .T.) На форме создал кнопку с такой командой: lnResult = SQLEXEC(m.gn_Soed,'') т.е. так пытаюсь дернуть следующую порцию проверяю в степе lnResult = -1 И вот последние строки лога: ошибка видна - но хотелось бы поточнее читать и понимать каждую строчку! vfp9 868-f9c ENTER SQLSetStmtOption HSTMT 0x00B6AB08 UWORD 9 <SQL_ROWSET_SIZE> SQLPOINTER 1 vfp9 868-f9c EXIT SQLSetStmtOption with return code 0 (SQL_SUCCESS) HSTMT 0x00B6AB08 UWORD 9 <SQL_ROWSET_SIZE> SQLPOINTER 1 vfp9 868-f9c ENTER SQLExecDirect HSTMT 0x00B6AB08 UCHAR * 0x01E0DEA8 [ -3] "\ 0" SDWORD -3 vfp9 868-f9c EXIT SQLExecDirect with return code -1 (SQL_ERROR) HSTMT 0x00B6AB08 UCHAR * 0x01E0DEA8 [ -3] "\ 0" SDWORD -3 DIAG [S1000] [MySQL][ODBC 3.51 Driver][mysqld-5.1.48-community]Query was empty (1065) vfp9 868-f9c ENTER SQLErrorW HENV 0x00B6FF58 HDBC 0x00B6A828 HSTMT 0x00B6AB08 WCHAR * 0x0012DAC0 SDWORD * 0x0012DB08 WCHAR * 0x0012D6C0 SWORD 512 SWORD * 0x0012DB0C vfp9 868-f9c EXIT SQLErrorW with return code 0 (SQL_SUCCESS) HENV 0x00B6FF58 HDBC 0x00B6A828 HSTMT 0x00B6AB08 WCHAR * 0x0012DAC0 [ 5] "S1000" SDWORD * 0x0012DB08 (1065) WCHAR * 0x0012D6C0 [ 65] "[MySQL][ODBC 3.51 Driver][mysqld-5.1.48-community]Query was empty" SWORD 512 SWORD * 0x0012DB0C (65) vfp9 868-f9c ENTER SQLErrorW HENV 0x00B6FF58 HDBC 0x00B6A828 HSTMT 0x00B6AB08 WCHAR * 0x0012DAC0 SDWORD * 0x0012DB08 WCHAR * 0x0012D6C0 SWORD 512 SWORD * 0x0012DB0C vfp9 868-f9c EXIT SQLErrorW with return code 100 (SQL_NO_DATA_FOUND) HENV 0x00B6FF58 HDBC 0x00B6A828 HSTMT 0x00B6AB08 WCHAR * 0x0012DAC0 SDWORD * 0x0012DB08 WCHAR * 0x0012D6C0 SWORD 512 SWORD * 0x0012DB0C vfp9 868-f9c ENTER SQLCancel HSTMT 0x00B6AB08 vfp9 868-f9c EXIT SQLCancel with return code 0 (SQL_SUCCESS) HSTMT 0x00B6AB08 vfp9 868-f9c ENTER SQLCancel HSTMT 0x00B6AB08 vfp9 868-f9c EXIT SQLCancel with return code 0 (SQL_SUCCESS) HSTMT 0x00B6AB08 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 12:17 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
VIVA_CAQuery was emptyИщите, где у вас пустой запрос формируется... а впрочем, чего там искать, вот же он: VIVA_CAlnResult = SQLEXEC(m.gn_Soed,'') т.е. так пытаюсь дернуть следующую порциюМожет, уберёте '' и проверите снова? PS. Асинхронным режимом сам не пользовался, может, надо тот же запрос посылать, а не опускать его текст... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 13:00 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
VIVA_CAИ вот последние строки лога: ошибка видна - но хотелось бы поточнее читать и понимать каждую строчку! ХЗ чего эти строчки означают. Какой-то внутренний протокол ODBC. Все что я там понимаю - это запросы посылаемые серверу "select ...". Видно что посылается и сколько раз. Я тебе посмотреть предлагал в чем разница выполнения запроса разными способами. VIVA_CAВключил SQLSETPROP(handle, 'Asynchronous', .T.) На форме создал кнопку с такой командой: lnResult = SQLEXEC(m.gn_Soed,'') т.е. так пытаюсь дернуть следующую порцию Не уверен что это будет работать совместно с КА. У асинхронного режима другая логика: отправляется запрос и периодически проверяется пришел ли ответ, в это время можно какой-то другой код выполнять. В файле форма-тест. Я как-то разбирался с асинхронным режимом, но так и не нашел ему применения. Задаешь строку подключения к серверу, пишешь запрос и нажимаешь кнопку "выполнить". Весь код прописан в таймере. Как вариант после получения курсора прицепить его к КА через CursorAttach() ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 13:10 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
проверил --- AsyncSQL.zip - 2Kb) cкачать select top 100 * from ttt MySQL не понимает а вот так select * from ttt limit 100 - работает, но дальше не двигается ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 16:13 |
|
CA-медленно обновляется - помогите советом
|
|||
---|---|---|---|
#18+
VIVA_CAпроверил --- AsyncSQL.zip - 2Kb) cкачать select top 100 * from ttt MySQL не понимает а вот так select * from ttt limit 100 - работает, но дальше не двигается куда дальше? "limit 100" - первые 100 записей. все. надо все - убери "limit 100". у меня top 100 стояло чтоб сервер не насиловать пока пишу. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 16:24 |
|
|
start [/forum/topic.php?fid=41&msg=38153411&tid=1583158]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 167ms |
0 / 0 |