powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Слишком длинный "The SQL statement" для "RecordSource property"
13 сообщений из 13, страница 1 из 1
Слишком длинный "The SQL statement" для "RecordSource property"
    #39645258
Фотография neznajka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся с такой ситуацией: указал для грида RecordSourceType=4 (SQL Statement) , а в свойство RecordSource попытался запихнуть нормально срабатывающее сложное SQL-выражение длиной 330 символов - и фоксик не захотел его принять :(
Хотя нигде в хэлпе я не нашёл никаких ограничений на длину SQL-выражения для свойства RecordSource (может, правда, плохо искал).
Понимаю, что можно перевести грид на другой тип источника записей (qpr-файл), но всё же интересно - может быть можно как-нибудь "уболтать" Фокс принять такое длинное SQL-выражение, раз уж нигде не указано никаких явных ограничений по этому поводу?
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39645274
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю что никак. Есть ограничение 255 символов для строки, скорее всего оно срабатывает.
Делай через курсор-адаптер.
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39645287
Фотография neznajka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, Dima T!
Попробую. Правда, с курсор-адаптером я не работал ранее, но если не въеду в него - всё-таки есть запасной вариант с "qpr"-файлом.
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39645302
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neznajka,
внимательно почитать документацию по сему свойству и наконец-то открыть для себя возможность помещать запросы в отдельные файлы и использовать сии файлы как источники данных.
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39646369
Фотография neznajka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizov, спасибо за совет.
Только и вы внимательно почитайте описание моего вопроса: я там чётко указал, что документацию (хэлп) именно по данному свойству я тщательно прочитал - там НЕТ явного ограничения на 255 символов в запросе. Или ткните носом, если я его пропустил всё-таки.
Поверьте, прежде чем обращаться с вопросами на специализированные форумы, я сначала прочитываю конкретную информацию по сути моего предполагаемого вопроса.
Ну, а если всё-таки очень хочется покритиковать - можно ещё, к примеру, упомянуть, что имеется общее vfp-ограничение строки в 255 символов. Только и на это есть что возразить:
- во-первых, длина строки и длина SQL-выражения - не совсем одно и то же, а потому я вправе предположить, что общее ограничение длины строки НЕ ОБЯЗАТЕЛЬНО должно влиять также и на длину SQL-выражения;
- во-вторых, даже слишком длинное SQL-выражение прекрасненько выполняется в командном окне или в prg-файле, ничуть не спотыкаясь о превышение длины в 255 символов - и это лучшее подтверждение тому, что ограничение длины строки не всегда действует также и на SQL-выражения.
А что касается "открыть для себя возможность помещать запросы в отдельные файлы и использовать сии файлы как источники данных" - так я и об этом упомянул, что мне такая возможность известна. Более того - я ею пользуюсь, когда не нахожу чего-либо более подходящего мне. Так поступил и в данной ситуации - поэтому тему считаю исчерпанной.
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39646370
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ограничение на строку:
Код: sql
1.
s = 'тут 255+ букав'


Это 100% дает ошибку. Но это лечится так
Код: sql
1.
s = 'тут меньше 255 букав' + 'тут меньше 255 букав'


Запись в свойство равносильно первому написанию, поэтому ошибка.
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39646377
Фотография neznajka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T, да я то это понял. Просто надеялся, что есть способ сделать запись в свойство равносильным записи длинного SQL-выражения в командное окно - ведь там оно безропотно выполняется за милую душу :)
Ну, а поскольку такого способа нет - потому и сделал через промежуточный курсор, формируемый в одном из методов формы.
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39646388
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neznajka во-первых, длина строки и длина SQL-выражения - не совсем одно и то же, а потому я вправе предположить, что общее ограничение длины строки НЕ ОБЯЗАТЕЛЬНО должно влиять также и на длину SQL-выражения Не вправе. Ибо не учитываете один маленький фактор. А именно хранение значения свойства в ДБФ-файле. И именно отсюда растущих ног этого самого ограничения в 255 символов. Вы путаете теплое с мягким.
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39646401
Фотография neznajka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizov...хранение значения свойства в ДБФ-файле...Вы путаете теплое с мягким
Не, не путаю. И вот почему - дерзну высказать предположение, что в этом ограничении_длины_свойства играет роль не само "хранение значения свойства в ДБФ-файле", а, скорее всего, способ его обработки Фоксом. Ведь, в том "scx-овом dbf-нике" все свойства и прочая информация хранится вовсе не в строковых , а в memo -полях, не имеющих 255-символьных ограничений.
Я не спорю с поведением Фокса (увы, оно таков о , каков о оно есть, и от споров и дискуссий уже никак не изменится), просто обращаю внимание на то, что "строковые ограничения" не относятся к memo-полям, в которых как раз и хранятся свойства контроллов формы.
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39646742
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neznajkaСтолкнулся с такой ситуацией: указал для грида RecordSourceType=4 (SQL Statement) , а в свойство RecordSource попытался запихнуть нормально срабатывающее сложное SQL-выражение длиной 330 символов - и фоксик не захотел его принять :(
Хотя нигде в хэлпе я не нашёл никаких ограничений на длину SQL-выражения для свойства RecordSource (может, правда, плохо искал).
Понимаю, что можно перевести грид на другой тип источника записей (qpr-файл), но всё же интересно - может быть можно как-нибудь "уболтать" Фокс принять такое длинное SQL-выражение, раз уж нигде не указано никаких явных ограничений по этому поводу?

Это ограничение не самого свойства, а дизайнерна (построителя). Т.е. в окне свойств нельзя указать больше 255 символов. Даже через форму расширенного выражения - нельзя Но программно это сделать вполне можно

Т.е. где-то в init-формы сделать присвоение

Код: sql
1.
thisForm.Grid1.RecordSource = "Длинный SQL-запрос"
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39646902
Фотография neznajka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ, спасибо!
Действительно, всё гениальное - просто. И как я сам, блин, не допёр до такой очевидной штуки? Ведь сам же часто через init-подправляю начальные свойства контроллов. А тут - как-то и не подумал, и сделал всё через промежуточный курсор. Теперь, конечно переделаю, как хотел изначально :)
И, да простит меня Модератор за небольшой офтоп (не хочется из-за явной мелочи новый топик начинать) - подскажите, пожалуйста, где VFP9 хранит настройки расцветки редактора кода (Tools->Options->Editor->Syntax_color_settings, искал в файле FoxUser.dbf - не нашёл, может они там, правда, в нечитаемом виде хранятся?): хочу их как-то сохранить, а то надоело каждый раз на каждом ПК по памяти их восстанавливать после переустановки Windows.
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39647021
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не проверял, но посмотри в системном реестре вот в этой ветке

HKEY_CURRENT_USER\Software\Microsoft\VisualFoxPro\9.0\Options

Цифра - в зависимости от версии
...
Рейтинг: 0 / 0
Слишком длинный "The SQL statement" для "RecordSource property"
    #39647055
Фотография neznajka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ, точно - именно там они все и обнаружились. Спасибо!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Слишком длинный "The SQL statement" для "RecordSource property"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]