|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
Столкнулся с такой ситуацией: указал для грида RecordSourceType=4 (SQL Statement) , а в свойство RecordSource попытался запихнуть нормально срабатывающее сложное SQL-выражение длиной 330 символов - и фоксик не захотел его принять :( Хотя нигде в хэлпе я не нашёл никаких ограничений на длину SQL-выражения для свойства RecordSource (может, правда, плохо искал). Понимаю, что можно перевести грид на другой тип источника записей (qpr-файл), но всё же интересно - может быть можно как-нибудь "уболтать" Фокс принять такое длинное SQL-выражение, раз уж нигде не указано никаких явных ограничений по этому поводу? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2018, 01:36 |
|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
Думаю что никак. Есть ограничение 255 символов для строки, скорее всего оно срабатывает. Делай через курсор-адаптер. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2018, 07:05 |
|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
Спасибо, Dima T! Попробую. Правда, с курсор-адаптером я не работал ранее, но если не въеду в него - всё-таки есть запасной вариант с "qpr"-файлом. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2018, 08:18 |
|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
neznajka, внимательно почитать документацию по сему свойству и наконец-то открыть для себя возможность помещать запросы в отдельные файлы и использовать сии файлы как источники данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2018, 08:57 |
|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
Sergey Sizov, спасибо за совет. Только и вы внимательно почитайте описание моего вопроса: я там чётко указал, что документацию (хэлп) именно по данному свойству я тщательно прочитал - там НЕТ явного ограничения на 255 символов в запросе. Или ткните носом, если я его пропустил всё-таки. Поверьте, прежде чем обращаться с вопросами на специализированные форумы, я сначала прочитываю конкретную информацию по сути моего предполагаемого вопроса. Ну, а если всё-таки очень хочется покритиковать - можно ещё, к примеру, упомянуть, что имеется общее vfp-ограничение строки в 255 символов. Только и на это есть что возразить: - во-первых, длина строки и длина SQL-выражения - не совсем одно и то же, а потому я вправе предположить, что общее ограничение длины строки НЕ ОБЯЗАТЕЛЬНО должно влиять также и на длину SQL-выражения; - во-вторых, даже слишком длинное SQL-выражение прекрасненько выполняется в командном окне или в prg-файле, ничуть не спотыкаясь о превышение длины в 255 символов - и это лучшее подтверждение тому, что ограничение длины строки не всегда действует также и на SQL-выражения. А что касается "открыть для себя возможность помещать запросы в отдельные файлы и использовать сии файлы как источники данных" - так я и об этом упомянул, что мне такая возможность известна. Более того - я ею пользуюсь, когда не нахожу чего-либо более подходящего мне. Так поступил и в данной ситуации - поэтому тему считаю исчерпанной. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2018, 20:50 |
|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
Есть ограничение на строку: Код: sql 1.
Это 100% дает ошибку. Но это лечится так Код: sql 1.
Запись в свойство равносильно первому написанию, поэтому ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2018, 20:56 |
|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
Dima T, да я то это понял. Просто надеялся, что есть способ сделать запись в свойство равносильным записи длинного SQL-выражения в командное окно - ведь там оно безропотно выполняется за милую душу :) Ну, а поскольку такого способа нет - потому и сделал через промежуточный курсор, формируемый в одном из методов формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2018, 21:14 |
|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
neznajka во-первых, длина строки и длина SQL-выражения - не совсем одно и то же, а потому я вправе предположить, что общее ограничение длины строки НЕ ОБЯЗАТЕЛЬНО должно влиять также и на длину SQL-выражения Не вправе. Ибо не учитываете один маленький фактор. А именно хранение значения свойства в ДБФ-файле. И именно отсюда растущих ног этого самого ограничения в 255 символов. Вы путаете теплое с мягким. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2018, 21:48 |
|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
Sergey Sizov...хранение значения свойства в ДБФ-файле...Вы путаете теплое с мягким Не, не путаю. И вот почему - дерзну высказать предположение, что в этом ограничении_длины_свойства играет роль не само "хранение значения свойства в ДБФ-файле", а, скорее всего, способ его обработки Фоксом. Ведь, в том "scx-овом dbf-нике" все свойства и прочая информация хранится вовсе не в строковых , а в memo -полях, не имеющих 255-символьных ограничений. Я не спорю с поведением Фокса (увы, оно таков о , каков о оно есть, и от споров и дискуссий уже никак не изменится), просто обращаю внимание на то, что "строковые ограничения" не относятся к memo-полям, в которых как раз и хранятся свойства контроллов формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2018, 22:44 |
|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
neznajkaСтолкнулся с такой ситуацией: указал для грида RecordSourceType=4 (SQL Statement) , а в свойство RecordSource попытался запихнуть нормально срабатывающее сложное SQL-выражение длиной 330 символов - и фоксик не захотел его принять :( Хотя нигде в хэлпе я не нашёл никаких ограничений на длину SQL-выражения для свойства RecordSource (может, правда, плохо искал). Понимаю, что можно перевести грид на другой тип источника записей (qpr-файл), но всё же интересно - может быть можно как-нибудь "уболтать" Фокс принять такое длинное SQL-выражение, раз уж нигде не указано никаких явных ограничений по этому поводу? Это ограничение не самого свойства, а дизайнерна (построителя). Т.е. в окне свойств нельзя указать больше 255 символов. Даже через форму расширенного выражения - нельзя Но программно это сделать вполне можно Т.е. где-то в init-формы сделать присвоение Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2018, 14:41 |
|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
ВладимирМ, спасибо! Действительно, всё гениальное - просто. И как я сам, блин, не допёр до такой очевидной штуки? Ведь сам же часто через init-подправляю начальные свойства контроллов. А тут - как-то и не подумал, и сделал всё через промежуточный курсор. Теперь, конечно переделаю, как хотел изначально :) И, да простит меня Модератор за небольшой офтоп (не хочется из-за явной мелочи новый топик начинать) - подскажите, пожалуйста, где VFP9 хранит настройки расцветки редактора кода (Tools->Options->Editor->Syntax_color_settings, искал в файле FoxUser.dbf - не нашёл, может они там, правда, в нечитаемом виде хранятся?): хочу их как-то сохранить, а то надоело каждый раз на каждом ПК по памяти их восстанавливать после переустановки Windows. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2018, 20:49 |
|
Слишком длинный "The SQL statement" для "RecordSource property"
|
|||
---|---|---|---|
#18+
Не проверял, но посмотри в системном реестре вот в этой ветке HKEY_CURRENT_USER\Software\Microsoft\VisualFoxPro\9.0\Options Цифра - в зависимости от версии ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2018, 12:29 |
|
|
start [/forum/topic.php?fid=41&fpage=10&tid=1581793]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 135ms |
0 / 0 |