powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Проблемма с параметрами
7 сообщений из 7, страница 1 из 1
Проблемма с параметрами
    #33410440
skorpk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть запрос с параметрами, который должен вставлять данные в аксесовскую таблицу. Сам код в котором выполняеться эта задача.
ADOQueryADD->SQL->Clear();
ADOConnection1->BeginTrans();
ADOQueryADD->SQL->Add("INSERT INTO Ychastok ( KODOMS, KOL_PEOPLE, TIPYCHASTK, PCOD_V,PCOD_M, MSG_TEXT ) SELECT :kodoms AS KODOMS, :KOL_PEOPLE AS KOL_PEOPLE, :tipychastk AS TIPYCHASTK,");
ADOQueryADD->SQL->Add(" (select doctor.pcod FROM doctor WHERE (((doctor.TYPE_V)=True) and doctor.fam_v=:fam_v)) as pcod_v, doctor.pcod as pcod_m,:msg_text as MSG_TEXT ");
ADOQueryADD->SQL->Add("from doctor where (((doctor.type_v)=false) and doctor.fam_v=:fam_m);");

ADOQueryADD->Parameters->ParamByName("kodoms")->Value=codoms;
ADOQueryADD->Parameters->ParamByName("kol_people")->Value=EditK->Text;
ADOQueryADD->Parameters->ParamByName("tipychastk")->Value=ComboBoxN->Text;
ADOQueryADD->Parameters->ParamByName("fam_v")->Value=ComboBoxVrach->Text;
ADOQueryADD->Parameters->ParamByName("msg_text")->Value=EditY->Text;
ADOQueryADD->Parameters->ParamByName("fam_m")->Value=ComboBoxMed->Text;

ADOQueryADD->ExecSQL();
ADOConnection1->CommitTrans();
...
Рейтинг: 0 / 0
Проблемма с параметрами
    #33410462
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что ?

Совет: приведи нормальный текст запроса, пользуясь тэгом SRC, опиши подробно, что не получается, как должно быть, желательно с примерами данных.

Укажи, какие ошибки получаешь, где
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проблемма с параметрами
    #33410552
skorpk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Данный запрос вставляеть данные не в те колонки.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
ADOQueryADD->SQL->Clear();
ADOConnection1->BeginTrans();
ADOQueryADD->SQL->Add("INSERT INTO Ychastok ( KODOMS, KOL_PEOPLE, TIPYCHASTK, PCOD_V,PCOD_M, MSG_TEXT ) SELECT :kodoms AS KODOMS, :KOL_PEOPLE AS KOL_PEOPLE, :tipychastk AS TIPYCHASTK,");
ADOQueryADD->SQL->Add(" (select doctor.pcod FROM doctor WHERE (((doctor.TYPE_V)=True) and doctor.fam_v=:fam_v)) as pcod_v, doctor.pcod as pcod_m,:msg_text as MSG_TEXT ");
ADOQueryADD->SQL->Add("from doctor where (((doctor.type_v)=false) and doctor.fam_v=:fam_m);");

ADOQueryADD->Parameters->ParamByName("kodoms")->Value=codoms;
ADOQueryADD->Parameters->ParamByName("kol_people")->Value=EditK->Text;
ADOQueryADD->Parameters->ParamByName("tipychastk")->Value=ComboBoxN->Text;
ADOQueryADD->Parameters->ParamByName("fam_v")->Value=ComboBoxVrach->Text;
ADOQueryADD->Parameters->ParamByName("msg_text")->Value=EditY->Text;
ADOQueryADD->Parameters->ParamByName("fam_m")->Value=ComboBoxMed->Text;

ADOQueryADD->ExecSQL();
ADOConnection1->CommitTrans();

А если сделать так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
ADOQueryADD->SQL->Clear();
ADOConnection1->BeginTrans();
ADOQueryADD->SQL->Add("INSERT INTO Ychastok ( KODOMS, KOL_PEOPLE, TIPYCHASTK, PCOD_V,PCOD_M, MSG_TEXT ) SELECT :kodoms AS KODOMS, :KOL_PEOPLE AS KOL_PEOPLE, :tipychastk AS TIPYCHASTK,");
ADOQueryADD->SQL->Add(" (select doctor.pcod FROM doctor WHERE (((doctor.TYPE_V)=True) and doctor.fam_v='bla-bla')) as pcod_v, doctor.pcod as pcod_m,:msg_text as MSG_TEXT ");
ADOQueryADD->SQL->Add("from doctor where (((doctor.type_v)=false) and doctor.fam_v=:fam_m);");

ADOQueryADD->Parameters->ParamByName("kodoms")->Value=codoms;
ADOQueryADD->Parameters->ParamByName("kol_people")->Value=EditK->Text;
ADOQueryADD->Parameters->ParamByName("tipychastk")->Value=ComboBoxN->Text;
ADOQueryADD->Parameters->ParamByName("fam_v")->Value=ComboBoxVrach->Text;
ADOQueryADD->Parameters->ParamByName("msg_text")->Value=EditY->Text;
ADOQueryADD->Parameters->ParamByName("fam_m")->Value=ComboBoxMed->Text;

ADOQueryADD->ExecSQL();
ADOConnection1->CommitTrans();
то данные вставляються в нужные колонки.
...
Рейтинг: 0 / 0
Проблемма с параметрами
    #33410731
roman10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДанный запрос вставляеть данные не в те колонки. авторА если сделать так
то данные вставляються в нужные колонки.
Хм... такое ощущение, что оба фрагмента кода одинаковые...
...
Рейтинг: 0 / 0
Проблемма с параметрами
    #33410863
skorpk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roman10
Хм... такое ощущение, что оба фрагмента кода одинаковые...
Вот именно что код одинаковый, отличие состоит тока в том что
Код: plaintext
ADOQueryADD->SQL->Add(" (select doctor.pcod FROM doctor WHERE (((doctor.TYPE_V)=True) and doctor.fam_v='BLA-BLA')) as pcod_v, doctor.pcod as pcod_m,:msg_text as MSG_TEXT ");
здесь уже указанно значение. а если оставлять параметр, тогда такое ощущение что все параметры путаються.
...
Рейтинг: 0 / 0
Проблемма с параметрами
    #33410909
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажи, что выведет ADOQueryADD->SQL->Text в обоих случаях, а то второй пример как бы неработоспособен, потому как делаешь присваивание несуществующему параметру
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проблемма с параметрами
    #33411316
roman10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skorpkздесь уже указанно значение. а если оставлять параметр, тогда такое ощущение что все параметры путаютьсяЯ затрудняюсь сказать, в чем может быть проблема. Попробуйте явно указывать тип параметра, а не только его значение. Что то вроде:

ADOQueryADD->Parameters->ParamByName("kodoms")->DataType = ftSmallint;
ADOQueryADD->Parameters->ParamByName("kodoms")->Value = 1;

В крайнем случае можно запрос формировать и вручную, не полагаясь на параметры.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Проблемма с параметрами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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