|
|
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, ув. форумчане! Есть код процедуры: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 1. Дело в том что MyAdoQ.Parameters[0].Value := QuotedStr(TreeView1.Selected.Text) не работает. Выводил в Memo а там просто запрос с параметром :Q. При этом ADOQuery3.Parameters[0].Value := MyAdoQ.Fields[0].AsString работает, если я создам MyAdoQ в процедуре перед этим вручную. 2. В ADOQuery3 стоит свойство Prepared = true, но проблема в том, что если убрать ADOQuery3.Close, то данные в DBGrid меняются только один раз и дальше уже изменить параметр не получается. 3. И хотелось бы понять, работает ли Prepared вообще. В интернете не нашел информации по этому поводу, целый день голову ломаю. Заранее спасибо всем кто отликнется! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 13:42 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
bors, QuotedStr в данном случае: лишний ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 13:44 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
Gerasimenko, Спасибо! И правда, помогло! Но... Почему? Там же латинские буквы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 13:55 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
bors Gerasimenko, Спасибо! И правда, помогло! Но... Почему? Там же латинские буквы Потому СУБД сама разбирается с параметрами и ей там кавычки не требуются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 13:57 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
alekcvp, стоило бы догадаться, но, не додумался до этого. Спасибо за информацию! Вот бы еще и с остальными вопросами разобраться:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 14:05 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
borsПочему? Очевидно потому, что значения в БД у тебя без кавычек. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 14:09 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Я и не скрываю этого, поэтому и пришел сюда узнавать что-то новое, чего собственными силами не смог найти/не знал что и где искать:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 14:12 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
borsЯ и не скрываю этого Скрываешь. Ты нигде не упомянул, что у тебя в БД значения хранятся без кавычек. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 14:30 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Прошу простить, неверно понял что имеете в виду:) Однако, все равно слабо понимаю как работает св-во prepared в adoquery, и верно ли я пытаюсь его использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 14:34 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
bors Почему? 1. Неправильный. Вставить значения непосредственно в текст запроса Код: pascal 1. Здесь переменные param1, param2 должны быть delphi строками строго в формате SQL. Строки в кавычках, даты в кавычках и в определенном формате, дробные числа с разделителем точкой и т.д 2. Правильный. Сформировать параметрический запрос и заполнить параметры Код: pascal 1. 2. 3. Здесь переменные param1, param2 должны быть такого же (или пподобного) типа, как и соответствующие поля в базе (string, TDateTime, Double) и содержать ровно те данные, которые нужно передать на сервер без дополнительных символов, спец.форматирования и т.д. А клиентская библиотека и сервер уже сами разберутся, что с ними делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 14:40 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Спасибо большое за подробный ответ! Наконец-то дошло:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 14:45 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
bors 2. В ADOQuery3 стоит свойство Prepared = true, но проблема в том, что если убрать ADOQuery3.Close, то данные в DBGrid меняются только один раз и дальше уже изменить параметр не получается. Код: pascal 1. 2. 3. 4. 5. 6. 7. Соответственно если датасет у вас не закрывается, то библиотека не считает его необходимым открывать. bors 3. И хотелось бы понять, работает ли Prepared вообще Код: pascal 1. возникает крайне редко. Обычноо это делается для того, чтобы отвалидировать запрос без его выполнения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 14:49 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Есть два способа вызвать запрос с параметрами. И, строго говоря, в первом случае получается запрос без параметров. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 14:55 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Огрооомнейшая Вам благодарность! Столько времени и нервов потратил чтобы понять описанные Вами вещи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 14:56 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov _Vasilisk_Есть два способа вызвать запрос с параметрами. И, строго говоря, в первом случае получается запрос без параметров. Изначально запрос и был записан как в варианте 1, поэтому и ошибочно решил что делая запрос способом 2 следует передавать параметры как в варианте 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 14:58 |
|
||
|
Не работает параметр в запросе ADOQuery
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ bors 3. И хотелось бы понять, работает ли Prepared вообще Код: pascal 1. возникает крайне редко. Обычноо это делается для того, чтобы отвалидировать запрос без его выполнения Если вызывать ADOQuery.Active := True; и Prepared := True; должно работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2020, 15:56 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40019941&tid=2037854]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 433ms |

| 0 / 0 |
