|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Ошибка Invalid Parameter!!! |
|
|
Delphi - Ошибка Invalid Parameter!!!
|
В Поисках Истины Сообщения: 802 |
Профиль | Отправить PM | Цитировать
Люди, помогите пожалуйста!Выскакивает ошибка Invalid Parameter при выполнении запроса выбора данных!приблизительный код :
query1.Close; query1.SQL.Add(тут что то выбираем); query1.open; //выполняем цикл по всему выбранному while not query1.eof do begin ........................... //что нибудь делаем query2.close; query2.SQL.Add('SELECT A FROM " ' + dir + ' " where B = 100 ') (*) query2.open; .................... //что нибудь делаем query2.close; ...........................//что нибудь делаем query1.next; end; dir - константа,указывающая таблицу! Но вот ищо один момент, если в строке (*), в запрос вбить все не используя переменные и константы : то все хорошо обрабатывается, и никаких ошибок! в чем причина этого???раньше такого не было в других кусках кода, почти идентичных этому! посмотрел строку sql - запроса перед его выполнением, она почему то имеет такой вид : |
|
Отправлено: 14:45, 14-09-2010 |
Забанен Сообщения: 463
|
попробуй так:
query2.SQL.Add(Format('SELECT A FROM " %s " where B = 100 ', [dir]); |
Отправлено: 21:45, 14-09-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Alan85, Спасибо за вариант, но с ним тоже, увы, строка запроса имеет такой же вид, и запрос не выполняется
|
------- Отправлено: 07:45, 15-09-2010 | #3 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать 1. Попробуйте задавать ваш dir сразу с двойными кавычками
Тогда будет так: 2. Если перед выполнением запроса Вы видите это: то возвожно Вы определили где-то локальную переменную dir и перекрыли ей константу. Именно в этом случае получите 'invalid parameter' Если объявляли константу с двойными кавычками сразу, то получите другое сообщение об ошибке. |
Отправлено: 13:36, 15-09-2010 | #4 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Вот пример перекрытия константы.
|
|
Отправлено: 14:04, 15-09-2010 | #5 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Цитата SoundHorror:
Попробовал, сообщение Invalid Use of keyword WHERE....!запрос выглядит так : Почему то строка запроса вообще не воспринимает констант и переменных!даже если делать так : B := '100' //переменная типа string query2.SQL.Add('SELECT A FROM " ' + dir + ' " WHERE B = ' + B); и даже если так : строка подключения вообще пустая! |
|
------- Отправлено: 15:02, 15-09-2010 | #6 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать выложите свой код, и версию среды укажите. Query стандартный от BDE? Этот пример (см.вложние) у Вас работает?
|
Отправлено: 15:19, 15-09-2010 | #7 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Есть еще одна бредовая мысль, но ввиду отсутствия других вариантов я ее выскажу:
Может в каком-нибудь используемом модуле переопределен тип String так чтобы длина постоянно была равна нулю? |
Отправлено: 15:52, 15-09-2010 | #8 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Цитата SoundHorror:
Работает все почему то кроме этого куска кода! Вот что еще оказывается : в этом куске кода query2 создается программно! попробовал добавить на форму Query( Query3), и поменял query2 на query3, все нормально обрабатывается и выполняется!Может ли это быть каким либо багом?Еще люди советуют перезагрузить комп, может ли это влиять? З.Ы. Комп работает уже дня 3 - 4, и среда тоже! |
|
Отправлено: 16:04, 15-09-2010 | #9 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Дайте же посмотреть этот кусок кода от места где Query2 создается программно до его открытия. Может там чего и намудрили? Чудес в коде не бывает.
|
Отправлено: 16:15, 15-09-2010 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
HDD - [решено] invalid partition table | Vaho83 | Накопители (SSD, HDD, USB Flash) | 15 | 08-03-2013 19:20 | |
Разное - invalid partition table | jckson05 | Microsoft Windows 2000/XP | 21 | 02-08-2011 19:49 | |
Debian/Ubuntu - invalid encoding в названиях файлов | allin1 | Общий по Linux | 6 | 14-06-2010 02:52 | |
Router - Invalid Mac adress | antikiller_bm | Сетевое оборудование | 0 | 18-02-2010 02:21 | |
Invalid system disky, I/O errory... | AR | Microsoft Windows 95/98/Me (архив) | 20 | 15-02-2005 23:52 |
|