powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Builder и SQL
10 сообщений из 10, страница 1 из 1
Builder и SQL
    #34375825
Pegasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу прогу на билдере(подключаюсь к БД) сталкнулся с проблемкой строчку
Код: plaintext
Form3->ADOQuery1->Parameters->ParamByName("a")->Value=Edit10->Text;   
комп начинает выделываться "Project xxxx raised exception class EDatabaseError with message 'ADOQuery1:Parametr 'a' not found'" Почему он not found? для подключения к базе я использую ADOConnection, ADOQuery,DataSource
...
Рейтинг: 0 / 0
Builder и SQL
    #34375938
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Проверь в SQL запросе должен быть параметр a
2. Если он там есть, то зайди в дизайнере в свойство Parameter и проверь там наличие параметра a, если нет, то добавь.
...
Рейтинг: 0 / 0
Builder и SQL
    #34376021
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или пиши покороче немного:
Код: plaintext
Form3->ADOQuery1->ParamByName("a")->AsString=Edit10->Text; 
...
Рейтинг: 0 / 0
Builder и SQL
    #34376690
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sashka304 Form3->ADOQuery1->ParamByName("a")->AsString=Edit10->Text;

У ADOQuery нет метода ParamByName.
...
Рейтинг: 0 / 0
Builder и SQL
    #34376883
Pegasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SnowMan21. Проверь в SQL запросе должен быть параметр a
2. Если он там есть, то зайди в дизайнере в свойство Parameter и проверь там наличие параметра a, если нет, то добавь. а если мне неизвестно заранее сколько будет параметров? а подобная команда
Код: plaintext
Form3->ADOQuery1->ParamByName("a")->AsString=Edit10->Text; 
в других прогах работала отлично. Может что-то в настройках ADOQuery?...какой нибудь хитрый параметр надо поднастроить?
...
Рейтинг: 0 / 0
Builder и SQL
    #34379450
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автора если мне неизвестно заранее сколько будет параметров?
делай супер функцию которая будет тебе генерить и скл запрос и параметры делать к нему
...
Рейтинг: 0 / 0
Builder и SQL
    #34380750
Pegasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sashka304делай супер функцию которая будет тебе генерить и скл запрос и параметры делать к нему я не бэтман, я только учусь.
...
Рейтинг: 0 / 0
Builder и SQL
    #34381359
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prepare() сделать не забыл?
Не забыл? Значит БД не смогла правильно отпрепарировать запрос, такое иногда бывает на примитивных базах. В этом случае прийдется вручную создавать параметры.
...
Рейтинг: 0 / 0
Builder и SQL
    #34381653
Pegasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я нашел из-за чего все ошибки выдает. В предыдущих прогах я использовал первый вариант:
Код: plaintext
Form3->ADOQuery1->Active=true;
в этот раз не прокатило и по совету умных людей для устраниения всех ошибок заменил на строку:
Код: plaintext
Form3->ADOQuery1->ExecSQL() ;
В чем их разница?
...
Рейтинг: 0 / 0
Builder и SQL
    #34381664
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторExecutes the SQL statement for the ADO query.

int __fastcall ExecSQL(void);

Description

Call ExecSQL to execute the SQL statement currently assigned to the SQL property. Use ExecSQL to execute queries that do not return a cursor to data (such as INSERT, UPDATE, DELETE, and CREATE TABLE).

ExecSQL returns an integer value reflecting the number of rows affected by the executed SQL statement.

Note: For SELECT statements, call Open instead of ExecSQL or set the Active property to true.

To speed performance, an application should ordinarily prepare the query by setting the Prepared property to true before calling ExecSQL for the first time.
обрати внимание на выделенное :)
если ты не делаешь выборку то юзать нада екзекскл иначе Active или он же Open();
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Builder и SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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