Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Grusha
22 / 22 / 2
Регистрация: 17.06.2008
Сообщений: 613
1

Отправка параметра в SQL запрос

01.06.2010, 00:16. Просмотров 2332. Ответов 22
Метки нет (Все метки)

Таблица "Klient.DBF". Поле "N_KVARTIR" - тип "Number"

SQL запрос на редактирование данных "Q_UpdateKlient"
SQL
1
2
3
UPDATE Klient
SET N_KVARTIR=:N_KVARTIR
WHERE KOD_KLIENT=:KOD_KLIENT;
В два поля "Edit" вводятся "N квартиры" и "код клиента".
Процедура по нажатию кнопки

Delphi
1
2
3
4
5
6
7
8
9
procedure TF_EditKlient.Button1Click(Sender: TObject);
 begin
   With Q_UpdateKlient do begin
   close;
   ParamByName('N_KVARTIR').AsInteger:=StrToInt(EditNkvartiri.Text);
   ParamByName('KOD_KLIENT').Value:=StrToInt(EditKodKlienta.Text);
   ExecSQL;
   end;
end;
ругается "Type mismatch in expression" на строку
ParamByName('N_KVARTIR').AsInteger:=StrToInt(EditNkvartiri.Text);

варианты, которые уже были испробованы и не помогают:
Delphi
1
2
3
             ParamByName('N_KVARTIR').AsInteger:=EditNkvartiri.Text;
   ParamByName('N_KVARTIR').AsString:=StrToInt(EditNkvartiri.Text);
   ParamByName('N_KVARTIR').AsString:=EditNkvartiri.Text;
Delphi
1
2
ParamByName('N_KVARTIR').Value:=StrToInt(EditNkvartiri.Text);
ParamByName('N_KVARTIR').Value:=EditNkvartiri.Text;
ПОМОГИТЕ, пожалуйста!!!

Добавлено через 8 минут
не получается у меня что-то проставить виды кодов (
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2010, 00:16
Ответы с готовыми решениями:

После выбора параметра в комбобоксе, шел SQL запрос в таблицу и брал значение соседнего поля
Народ кто шарит в SQL хелп в общем надо чтобы после того как пользователь выбирает параметр в...

SQL запрос по фрагменту строки сохраненной в таблице SQL
Прошу помощи. Есть SQL таблица-1, в ней есть столбец по имени Model_Vagona с типом данных ntext...

SQL запрос, работающий в MS SQL Menegment'e не работает в делфи
Требуется выполнить запрос по нажатию кнопки, запрос сначала написал в Microsoft SQL Managment, где...

SQL и ComboBox в Delphi. Нужно чтобы при выборе специальности в комбобоксе это значение вносилось в SQL запрос
procedure TForm3.Button2Click(Sender: TObject); begin try ADOQuery1.SQL.Clear;...

Запрос без параметров, но просит значение параметра
SELECT Shablones.NodeName FROM Shablones GROUP BY Shablones.NodeName Вот такой нехитрый...

22
Lord_Voodoo
Супер-модератор
8623 / 2275 / 133
Регистрация: 07.03.2007
Сообщений: 10,935
Завершенные тесты: 1
01.06.2010, 09:50 2
а у вас так и написано:
Delphi
1
2
   ParamByName('N_KVARTIR').AsInteger:=StrToInt(EditNkvartiri.Text);
   ParamByName('KOD_KLIENT').Value:=StrToInt(EditKodKlienta.Text);
а зачем два раза?
0
Grusha
22 / 22 / 2
Регистрация: 17.06.2008
Сообщений: 613
01.06.2010, 10:26  [ТС] 3
дык он ругается на
ParamByName('N_KVARTIR').AsInteger:=StrToInt(EditNkvartiri.Text);

пишет "Type mismatch in expression"

а внизу я перечислила все варианты, на которые тоже ругается...
Не пойму, как написать...
0
Lord_Voodoo
Супер-модератор
8623 / 2275 / 133
Регистрация: 07.03.2007
Сообщений: 10,935
Завершенные тесты: 1
01.06.2010, 10:32 4
Grusha, покажите, что у вас конкретно написано в коде (без всяких вариаций, просто код) и скриншот ошибки
0
Grusha
22 / 22 / 2
Регистрация: 17.06.2008
Сообщений: 613
02.06.2010, 23:56  [ТС] 5
Delphi
1
2
3
4
5
6
7
8
9
procedure TF_EditKlient.Button1Click(Sender: TObject);
 begin
   With Q_UpdateKlient do begin
   close;
   ParamByName('N_KVARTIR').AsInteger:=StrToInt(EditNkvartiri.Text);
   ParamByName('KOD_KLIENT').Value:=StrToInt(EditKodKlienta.Text);
   ExecSQL;
   end;
end;
0
Миниатюры
Отправка параметра в SQL запрос  
arni
909 / 874 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
03.06.2010, 08:17 6
Delphi
1
2
ParamByName('N_KVARTIR').AsString:=EditNkvartiri.Text;
ParamByName('KOD_KLIENT').AsString:=EditKodKlienta.Text;
0
Grusha
22 / 22 / 2
Регистрация: 17.06.2008
Сообщений: 613
03.06.2010, 10:39  [ТС] 7
arni,полностью скопировала ваш код - та же ошибка
0
arni
909 / 874 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
03.06.2010, 10:45 8
Цитата Сообщение от Grusha Посмотреть сообщение
arni,полностью скопировала ваш код - та же ошибка
тогда выкладывайте:
- тип данных для KOD_KLIENT
- фактические значения, которые вы вводите в EditNkvartiri.Text и EditKodKlienta.Text
0
unick12345
1803 / 1134 / 180
Регистрация: 27.03.2009
Сообщений: 4,320
03.06.2010, 11:02 9
а если так для обоих параметров
Delphi
1
ParamByName('KOD_KLIENT').Value:=StrToInt(EditKodKlienta.Text);
???
0
Grusha
22 / 22 / 2
Регистрация: 17.06.2008
Сообщений: 613
03.06.2010, 11:07  [ТС] 10
arni,он не ругается на КОД КЛИЕНТА. КОД клиента работает!!!!

он ругается ТОЛЬКО на НОМЕР КВАРТИРЫ

Посмотрите, пожалуйста мое первое сообщение - в начале все типы, внизу куча вариантов, которые я перепробовала на параметр НОМЕР КВАРТИРЫ.
0
arni
909 / 874 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
03.06.2010, 11:13 11
Цитата Сообщение от Grusha Посмотреть сообщение
Посмотрите, пожалуйста мое первое сообщение - в начале все типы, внизу куча вариантов, которые я перепробовала на параметр НОМЕР КВАРТИРЫ.
Вижу только варианты кода, но не варианты реальных данных, которые вы вбиваете в Edit
0
Lord_Voodoo
Супер-модератор
8623 / 2275 / 133
Регистрация: 07.03.2007
Сообщений: 10,935
Завершенные тесты: 1
03.06.2010, 11:25 12
Grusha, вы знаете, что-то у меня начинает складываться впечатление, что у вас все-таки тип данных не number, потому что все уже варианты перебрали, а эффект тот же
0
Grusha
22 / 22 / 2
Регистрация: 17.06.2008
Сообщений: 613
03.06.2010, 11:26  [ТС] 13
arni,в "EditNkvartiri.Text" пользователь вбивает любое число, например 152.

И этот номер квартиры в итоге должен быть занесен в таблицу данных "Klient.DBF", в поле "N_KVARTIR" - тип "Number" в ту строку, id которой соответствует данным в "EditKodKlienta.Text"

а "EditKodKlienta.Text" недоступна для изменения. Оно просто для справки пользователю дается.
0
unick12345
1803 / 1134 / 180
Регистрация: 27.03.2009
Сообщений: 4,320
03.06.2010, 11:28 14
а размер поля какой в базе? сколько символов?
0
Lord_Voodoo
Супер-модератор
8623 / 2275 / 133
Регистрация: 07.03.2007
Сообщений: 10,935
Завершенные тесты: 1
03.06.2010, 11:32 15
Grusha, выложите таблицу на форуме...
0
Grusha
22 / 22 / 2
Регистрация: 17.06.2008
Сообщений: 613
03.06.2010, 11:33  [ТС] 16
прикладываю скриншот
0
Миниатюры
Отправка параметра в SQL запрос  
Lord_Voodoo
Супер-модератор
8623 / 2275 / 133
Регистрация: 07.03.2007
Сообщений: 10,935
Завершенные тесты: 1
03.06.2010, 12:02 17
а так запрос нормально работает?
SQL
1
2
3
UPDATE Klient
SET N_KVARTIR=152
WHERE KOD_KLIENT=:KOD_KLIENT;
0
Grusha
22 / 22 / 2
Регистрация: 17.06.2008
Сообщений: 613
03.06.2010, 12:04  [ТС] 18
так не пойдет, МЕНЯТЬ номер квартиры должен пользователь, а не программист...
0
Lord_Voodoo
Супер-модератор
8623 / 2275 / 133
Регистрация: 07.03.2007
Сообщений: 10,935
Завершенные тесты: 1
03.06.2010, 12:21 19
Grusha, вы не поняли, это тест... потому что выходит так, что вообще нерабочие параметры в дельфи, но это же неправда, у меня все работает
0
Grusha
22 / 22 / 2
Регистрация: 17.06.2008
Сообщений: 613
03.06.2010, 13:29  [ТС] 20
Lord_Voodoo,мои извинения - и вправду не поняла, что тест.

Да, так работает.
0
03.06.2010, 13:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2010, 13:29

Передача параметра в sql запрос
привет. осуществляю поиск по базе. мне надо найти слово или выражение (которое ввожу из формы) в...

Функция которая принимает в качестве параметра sql-запрос
Необходимо создать функцию которая в качестве параметра принимает sql запрос типа...

Ошибка при подстановке параметра в sql запрос (python3.6 + sqlite3)
При подстановке параметра в запрос появляется ошибка Traceback (most recent call last): File...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru