Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

IBDataSet   Найти похожие ветки 

 
cherrex ©   (2004-07-29 20:24) [0]

Помогите с удалентем.
DeleteSQL :delete from MECH
where
 SHIP_ID = :SHIP_ID and
 STANDART_MECH = :STANDART_MECH

procedure TForm2.BitBtn3Click(Sender: TObject);
begin
IBDataSet1.Active := True;
IBDataSet1.Delete;
IBDataSet1.ParamByName("STANDART_MECH").AsString := Edit5.Text;
IBDataSet1.FieldByName("SHIP_ID").AsString := Ship_Id;
Form1.IBTransaction1.CommitRetaining;
IBDataSet1.Post;
end;
Постоянно выводит ошибку!!!


 
bushmen ©   (2004-07-29 20:36) [1]

А причем тут MSSQL ? Вы сначала с базой определитесь: IB или MSSQL. Да и с кодом изюм какой-то


 
Vlad ©   (2004-07-29 20:44) [2]

Можно я прокомментирую ?

IBDataSet1.Active := True; //Открываем набор данных
IBDataSet1.Delete; // Удаляем первую запись
IBDataSet1.ParamByName("STANDART_MECH").AsString := Edit5.Text; // присваивваем значение параметру
IBDataSet1.FieldByName("SHIP_ID").AsString := Ship_Id; //присваиваем значение полю
Form1.IBTransaction1.CommitRetaining; // Подтверждаем транзакцию
IBDataSet1.Post; //Cохраняем изменения в наборе данных
.

А теперь объясните, что это за чушь ???
Что вам вобще требуется сделать ?


 
cherrex ©   (2004-07-29 20:45) [3]

База у меня точно IB, а запрос создад сам мастер IBDataSet.


 
cherrex ©   (2004-07-29 20:47) [4]

А как тогда выполнить запрос с пораиетрами в DeleteSQL


 
cherrex ©   (2004-07-29 20:50) [5]

Точнее удалить запись в таблице с помощью IBDataSet1.DeleteSQL.


 
bushmen ©   (2004-07-29 20:53) [6]

> Vlad ©   (29.07.04 20:44) [2]
Немного невено.
>IBDataSet1.Active := True; //Открываем набор данных
В IBDataSet1 находится:
>delete from MECH
>where
>SHIP_ID = :SHIP_ID and
>STANDART_MECH = :STANDART_MECH

>А как тогда выполнить запрос с пораиетрами в DeleteSQL
Надо книжку почитать про работу с БД.


 
Vlad ©   (2004-07-29 20:55) [7]


> bushmen ©   (29.07.04 20:53) [6]


> В IBDataSet1 находится:
> >delete from MECH
> >where
> >SHIP_ID = :SHIP_ID and
> >STANDART_MECH = :STANDART_MECH

Я так понял что не в IBDataSet, а в его property DeleteSQL (судя по первому посту)


 
cherrex ©   (2004-07-29 20:56) [8]

Значит помощи от вас я не дождусь?


 
bushmen ©   (2004-07-29 21:04) [9]

> cherrex ©   (29.07.04 20:56) [8]

Сначала ответьте на [7]


 
cherrex ©   (2004-07-29 21:11) [10]

Мне нужно в IBDataSet1.DeleteSQL передать значения параметров
(SHIP_ID = :SHIP_ID and STANDART_MECH = :STANDART_MECH), и удалить запись(Ведь для этого предназначен TIBDataSet и DeleteSQL?).


 
Vlad ©   (2004-07-29 21:14) [11]


> cherrex ©   (29.07.04 21:11) [10]


> (Ведь для этого предназначен TIBDataSet и DeleteSQL?).

Нет, не для этого. DeleteSQL предназначен для того чтобы удалять запись из набора данных методом TIBDataSet.Delete
А как именно вы хотите удалить запись - я не понял.


 
cherrex ©   (2004-07-29 21:17) [12]


> Нет, не для этого. DeleteSQL предназначен для того чтобы
> удалять запись из набора данных методом TIBDataSet.Delete

вот это мне и надо


 
Johnmen ©   (2004-07-29 21:21) [13]

Запрос в DeleteSQL предназначен для выполнения его, когда происходит удаление записи из НД TIBDataSet.
Значениия параметров запроса подставляются автоматически из текущей записи НД.


 
Vlad ©   (2004-07-29 21:26) [14]


> cherrex ©   (29.07.04 21:17) [12]
> вот это мне и надо

Тогда нафига туда руками передавать какие-то параметры ?
И потом, какую именно запись требуется удалить ?
Из вашего кода я понял что первую в наборе данных :-) Или нет ?


 
cherrex ©   (2004-07-29 21:27) [15]


> Запрос в DeleteSQL предназначен для выполнения его, когда
> происходит удаление записи из НД TIBDataSet.
> Значениия параметров запроса подставляются автоматически
> из текущей записи НД.

как произвести это удаление


 
Vlad ©   (2004-07-29 21:29) [16]


> cherrex ©   (29.07.04 21:27) [15]


> как произвести это удаление

Я же говорил - методом TIBDataSet.Delete


 
cherrex ©   (2004-07-29 21:31) [17]


> Тогда нафига туда руками передавать какие-то параметры ?
> И потом, какую именно запись требуется удалить ?
> Из вашего кода я понял что первую в наборе данных :-) Или
> нет ?

с значением полей SHIP_ID и STANDART_MECH (пример:delete from MECH where SHIP_ID = "MAVA" and STANDART_MECH = 2).


 
cherrex ©   (2004-07-29 21:33) [18]


> Я же говорил - методом TIBDataSet.Delete

TIBDataSet.Delete удаляет первую запись, а мне надо запись с значениум полей SHIP_ID = "MAVA" and STANDART_MECH = 2


 
Vlad ©   (2004-07-29 21:37) [19]


> cherrex ©   (29.07.04 21:33) [18]


> TIBDataSet.Delete удаляет первую запись

TIBDataSet.Delete удаляет текущую запись
Ну и зачем тогда вобще нужен TIBDataSet ?
Есть компонент TIBSql, специально для этого предназначенный.


 
cherrex ©   (2004-07-29 21:41) [20]


> TIBDataSet.Delete удаляет текущую запись
> Ну и зачем тогда вобще нужен TIBDataSet ?
> Есть компонент TIBSql, специально для этого предназначенный.

как сделать нужную запись текущей


 
Johnmen ©   (2004-07-29 21:44) [21]

Извините. М.б. пора F1 притопить ?
:)


 
Vlad ©   (2004-07-29 21:45) [22]


> cherrex ©   (29.07.04 21:41) [20]


TIBDataSet.Locate
но только зачем такие извраты ?
Еще раз повторяю, чтобы удалить запись из базы с помощью SQL запроса - есть компонент TIBSql


 
cherrex ©   (2004-07-29 22:14) [23]

Vlad все понял. Большое спасибо. Спасибо за терпение ко мне!!!



Страницы: 1 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.027 c
3-1091199727
pashtet
2004-07-30 19:02
2004.08.22
Что лучше Interbase FB Yaffil или PostgreSQL Ingres?


14-1091346039
ИМХО
2004-08-01 11:40
2004.08.22
Как смотреть WAP с компьютера?


10-1025240895
nikols
2002-06-28 09:08
2004.08.22
Разные обьектные ссылки C++ и Java.


14-1091533035
}|{yk
2004-08-03 15:37
2004.08.22
4 уровневая архитектура???


1-1092026807
dimon_programmer
2004-08-09 08:46
2004.08.22
IF не работает