Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.10.2008, 14:40
diagnost diagnost вне форума
Прохожий
 
Регистрация: 01.08.2008
Сообщения: 19
Репутация: 10
По умолчанию Добавить запись в Paradox через параметр

Есть DataModule2.ChangeModelQuery.SQL:
Код:
INSERT INTO
  ModelDB
VALUES
  (:Model)
Есть запрос
Код:
with DataModule2.ChangeModelQuery do begin
    Unprepare;
    ParamByName('Model').AsString := NewInfo[Model].Text;
    Prepare;
    ExecSQL;
    Close;
  end;
Таблица базы данных состоит из двух полей: ID (ключевое поле) и Model (строка)
Выдает ошибку "Invalid Parameter". Не пойму, что не так

Последний раз редактировалось diagnost, 26.10.2008 в 14:44.
Ответить с цитированием
  #2  
Старый 29.10.2008, 12:51
diagnost diagnost вне форума
Прохожий
 
Регистрация: 01.08.2008
Сообщения: 19
Репутация: 10
По умолчанию

Пробовал:
Код:
ParamByName('Model').Variant := NewInfo[Model].Text;
или
Цитата:
ParamByName('Model').AsString := 'aaa';
или
Код:
ParamByName('Model').Variant := 'aaa';
или в SQL
Код:
INSERT INTO ModelDB (ID, Model) VALUES (:Model)
И еще десятка два вариантов. Переустанавливал Delphi. Ну никак.
Запрос называется ChangeModelQuery, но добавляет новое значение Model.
Хотя Update работает нормально:
Код:
with DataModule2.UpdateModelQuery do begin
  Unprepare;
  ParamByName('Model').AsString := Info[Model].Text;
  ParamByName('ID').AsInteger := Info[Model].ID;
  Prepare;
  ExecSQL;
  Close;
end;
Возможно, решение банально, но уже неделю его ищу и не нахожу. Может быть, что-нибудь не так в properties запроса?

Последний раз редактировалось diagnost, 29.10.2008 в 12:58.
Ответить с цитированием
  #3  
Старый 29.10.2008, 19:19
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Код:
ID:=222;
model:='Модель';
Q.Close;
Q.SQL.Text:='INSERT INTO Models.db VALUES ("'+IntToStr(ID)+'","'+Model+'")';
Q.ExecSQL;
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз

Последний раз редактировалось Yurk@, 29.10.2008 в 19:22.
Ответить с цитированием
  #4  
Старый 30.10.2008, 01:02
diagnost diagnost вне форума
Прохожий
 
Регистрация: 01.08.2008
Сообщения: 19
Репутация: 10
По умолчанию

Нет, потому что ID - автоинкремент, его в БД по прямой добавлять нельзя
Ответить с цитированием
  #5  
Старый 30.10.2008, 19:09
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

дык сразу нужно писать, что он АвтоИнкремент...
Операции INSERT и UPDATE не поддерживают автоинкремент!
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:24.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter