Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ADOQuery.Active:=true -> ошибка
|
|||
|---|---|---|---|
|
#18+
привет всем. Delphi 6/ado, SQL server 2000. написал текст запроса в поле adoquery.sql: есть список клиентов, у них на руках карты (магнитные). это в базе храниться. при событии выбора клиента в датасете(связан с другим гридом) при помощи изменения параметра id в запросах показываю в другом гриде и ДБтексте список карт и их количество. Код: plaintext 1. 2. 3. 4. вроде бы все правильно, тип параметра id ставил строковый или integer. при попытке протестировать запрос выставлением параметра=скажем 4 и active=true, дельфя говорит: "ошибка синтаксиса или нарушение прав доступа." если же написать client_index=4 прямо в запросе или вообще where ... выкинуть, все ОК. как быть? похоже на ошибочный парсинг текста компонентом. хотелось бы использовать настройку параметров вместо полной сборки текста запроса "налету". и еще что правильнее: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2002, 03:24 |
|
||
|
ADOQuery.Active:=true -> ошибка
|
|||
|---|---|---|---|
|
#18+
Попробуй перед открытием запроса указать тип параметра и тип данных. Ну что-то типа: ADOquery.Parameters.ParamByName('id').DataType:=ftInteger; ADOquery.Parameters.ParamByName('id').Direction:=pdInput; А потом уже запрос запускать. SET или SELECT - отличаются что SET работает для одной переменной, а в SELECT сразу нескольким через запятую можно присвоить значения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2002, 06:41 |
|
||
|
ADOQuery.Active:=true -> ошибка
|
|||
|---|---|---|---|
|
#18+
Херургу: попробовал. что-то похожее на работу наблюдается когда сначала далаю active=true, затем prepared=true. без настройки типов достаточно сделать запрос по-навороченнее (добавить переменную вовнутрь), так сразу начинается дельфянное вяканье про синтаксис или доступ (см. выше). я без понятия что делать. ваять обходнгые способы (сборка на лету или СП) возможно, однако это крайняя мера т.к. лучше разобраться с этой задачкой про запуск куери с переменной и параметром. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2002, 19:10 |
|
||
|
ADOQuery.Active:=true -> ошибка
|
|||
|---|---|---|---|
|
#18+
У меня Delphi 5, SQL Server 2000, твой запрос сделал в TADODataSet (единственно подставил свои таблицы и поля), у меня все нормально работает: declare @cnt int set @cnt=(select count(*) from tblTabelUchet where dreportdate= '20021210') select @cnt as CardCount, ('Êàðò ( ' + convert(varchar,@cnt) + ' )') as CntText Могу предложить следующие варианты: 1. Сделать запрос хранимой процедурой или 2. Убрать конвертацию в varchar, чтобы не делать declare @cnt (по моему, Дельфи любит очень простые запросы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2002, 10:09 |
|
||
|
|

start [/forum/topic.php?fid=58&tid=2119474]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 270ms |
| total: | 426ms |

| 0 / 0 |
