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

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

interbase(проблема ввода данных) [D7, XP]


Страницы:   1 2 3 4 5

kla$ ©   (2008-05-19 14:16:00) 

Создал бд. В ней 1 таблица. В делфе на форму кидаю IBQuery1,IBDatabase1,IBTransaction1, DataSource1 и DBGrid1. Прописываю:
IBQuery1.Database:= IBDatabase1;
IBQuery1.Transaction:= IBTransaction1;
IBDatabase1.DataBaseName:=прописываю путь;
IBDatabase1.DefaultTransaction:=IBTransaction1;
IBTransaction1.DefaultDatabase:= IBDatabase1;
DataSource1.Dataset:=IBQuery1;
DBGrid1.DataSource:=DataSource1;
Query1.active:=true;

Компилится норм, но почему то немогу вводить данные в DBGrid. Что я делаю неправильно. Буду рад любым советам, т.к. новичок в этом деле(.


kla$1   (2008-05-19 15:42:00) [81]

не, вспомнил, не совсем это геморно. Все решается через параметры второго IBQuery2:
var
s:string;
c:integer;
begin
 IBQuery2.Params.ParamByName('STUDNAME').Value:=Edit1.text;
 IBQuery2.Params.ParamByName('SEMESTR').Value:=strtoint(Edit2.text);
 IBQuery2.Params.ParamByName('DISCIPL').Value:=Edit3.text;
 IBQuery2.Params.ParamByName('OTCHET').Value:=Edit4.text;
 IBQuery2.Params.ParamByName('OCENKA').Value:=Edit5.text;
 try
 IBQuery2.ExecSQL;
 except
 ShowMessage('Ошибка при добавлении данных!');
 IBTransaction1.RollbackRetaining;
 exit;
end;
IBTransaction1.CommitRetaining;
IBQuery1.Close;
IBQUEry1.Open;
end;


Сергей М.   (2008-05-19 14:44:00) [82]

Можно. Но геморроя будет поболее, чем в случае с TIBDataSet - потребуется создавать отдельный объект для обновления и подключать его через св-во UpdateObject.


kla$   (2008-05-19 14:39:00) [83]

а разве с помощью IBQuery нельзя  вносить данные в базу?


Сергей М.   (2008-05-19 14:22:00) [84]


> Что я делаю неправильно


Используешь селективный запрос.
А для выполнения модификации данных следует использовать UPDATE-запрос.

Для этого существует TIBDataSet, рассмотри его в лупу внимательно, особенно в части UpdateSQL


kla$   (2008-05-19 14:17:00) [85]


> Query1.active:=true;

IBQuery1*


Страницы:   1 2 3 4 5

Наверх

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