Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

IBDataSet(удаление, добавление, редактирование) [D7, IB6.x]


RomanH ©   (2006-04-12 13:48:00) 

Здраствуйте мастера.Можно ли при помощи IBDataSet выполнять следующие действия:удаление, добавление, редактирование.


Johnmen   (2006-04-15 23:25:00) [1]


> DevilDevil ©   (15.04.06 20:53) [13]


Флуд здесь не приветствуется.


DevilDevil   (2006-04-15 20:53:00) [2]

Мастера!

У меня похожая ситуация, только обязательно InsertSQL, EditSQL и DeleteSQL надо использовать, да ещё и с транкзацией. Помогите, пожалуйста. Решил обойтись Query1.Fields[0].AsInteger := ...
Но не тут то было, вызывает ошибку, мол нельзя, квери только для чтения. Хотя свойство readonly = false.
И ещё, скажите, что за параметры такие Params?

Заранее спасибо


Sergey13   (2006-04-12 15:56:00) [3]

2 [11] RomanH ©   (12.04.06 15:31)
>Хотелось бы чтобы все это делал IBDataSet.Ни как не соображу.
Примерно так.

dm.Men.Append;
dm.Men.FieldByName('MFam').AsString:=edit1.Text;
dm.Men.FieldByName('MName').AsString:=edit2.Text;
dm.Men.Post;


RomanH   (2006-04-12 15:31:00) [4]

Как предложат мастера на этом форуме так и будем пытаться реализовать поставленную задачу.А где можно посмотреть пример где MenQ-это IBQuery
Men-IBDataSet.        
        dm.MenQ.Close;
       dm.MenQ.SQL.Clear;
       dm.MenQ.SQL.Add('insert into men (MFam,MName)');
       dm.MenQ.SQL.Add('values (:Mfam, :MName)');
       dm.MenQ.ParamByName('MFam').AsString:=edit1.Text;
       dm.MenQ.ParamByName('MName').AsString:=edit2.Text;
       dm.MenQ.ExecSQL;
       dm.Men.Close;
       dm.Men.Open;
Хотелось бы чтобы все это делал IBDataSet.Ни как не соображу.


Sergey13   (2006-04-12 15:01:00) [5]

2[7] RomanH ©   (12.04.06 14:37)
Если оперировать 2-мя кверями, то отображающий придется переоткрывать после использования модифицирующего. Да и вообще IBDataSet он практически самодостаточен для "комплексной" обработки данных, а посему предпочтительней.


Виталий Панасенко   (2006-04-12 15:00:00) [6]


> RomanH ©   (12.04.06 14:37) [7]

IBDataSet объединяет в себе 5 возможностей: выборку(select), вставку(insert into), изменнеие(udate tbl set field.. where key=key_value), обновление клиента(refresh - select * from tbl where key=key_value)
А так тебе нужно несколько IBQuery


Johnmen   (2006-04-12 14:41:00) [7]


> Desdechado ©   (12.04.06 14:01) [3]
>
> добавить запись в датасет, после чего сделать ApplyUpdates;
>


Почему ты решил, что изменения в НД непременно кешируются?


RomanH   (2006-04-12 14:37:00) [8]

Теперь я понял. Но чтобы понять до конца поправте меня.Использовать IBDataSet для отображения информации и IBQuery для манипуляции этими данными-это тоже самое что и вместо IBDataSet использовать IBQuery.
То есть IBQuery1.sql:='select * from table';-это для отображения информации
а IBQuery2.sql:='Insert ......';


Sergey13   (2006-04-12 14:24:00) [9]

2 [4] RomanH ©   (12.04.06 14:07)
>Вопрос: IBDataset добавит его запросом InsertSQL или таким же аналогичным способом как IBTable.Append.
По секрету скажу, что в случае с IBTable запись добавится тоже через запрос с Insert. Просто ИБ другого не понимает.


Виталий Панасенко   (2006-04-12 14:23:00) [10]

IBTable на самом деле, делает тоже самое - шлет сиквел-запрос INSERT INTO. Просто ты этого не видишь


RomanH   (2006-04-12 14:07:00) [11]

То есть нужно использовать метод Append.Вопрос: IBDataset добавит его запросом InsertSQL или таким же аналогичным способом как IBTable.Append.


Desdechado   (2006-04-12 14:01:00) [12]

добавить запись в датасет, после чего сделать ApplyUpdates;


RomanH   (2006-04-12 13:57:00) [13]

Подскажите пожалусто. у меня уже прописаны SelectSQL,DeleteSQL,ModifySQL,InsertSQL.Какой метод надо применить чтобы к примеру выполнить InsertSQL и где прописать параметры (значения новой записи)


Sergey13   (2006-04-12 13:49:00) [14]

Можно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо