Приложение для ввода данных
Рис. 8 Приложение для ввода данных в таблицу ORACLE
Значения свойств компонентов созданного приложения приведены в таблице 1. Особо отметим, что свойство CachedUpdates компонента Table1должно иметь значение true.
Таблица 1.
Компонент |
Свойство |
Значение |
Database1 |
DatabaseName |
my_database |
|
Params |
SERVER NAME=ORA USER NAME=USER1 NET PROTOCOL=TNS OPEN MODE=READ/WRITE SCHEMA CACHE SIZE=8 LANGDRIVER=ancyrr SQLPASSTHRU MODE=SHARED AUTOCOMMIT SCHEMA CACHE TIME=-1 MAX ROWS=-1 BATCH COUNT=200 ENABLE SCHEMA CACHE=FALSE SCHEMA CACHE DIR= ENABLE BCD=FALSE ENABLE INTEGERS=FALSE LIST SYNONYMS=NONE ROWSET SIZE=20 BLOBS TO CACHE=64 BLOB SIZE=32 PASSWORD=u |
Table1 |
Active |
true |
CachedUpdates |
true |
DatabaseName |
my_database |
TableName |
CLIENTS |
DataSource1 |
DataSet |
Table1 |
DBGrid1 |
DataSource |
DataSource1 |
DBNavigator1 |
DataSource |
DataSource1 |
DBImage1 |
DataSource |
DataSource1 |
DataField |
IMAGE |
|
LoginPrompt |
false |
Button1 |
Caption |
Сохранить |
Button2 |
Caption |
Отменить |
Button3 |
Caption |
Выход |
Нажатие на кнопки Button1 и Button2 приводит к попытке сохранения данных на сервере и к отмене внесенных изменений соответственно.
//--------------------------------------------------------------------------- #include <vcl\vcl.h> #pragma hdrstop #include "appl1.h" //--------------------------------------------------------------------------- #pragma link "Grids" #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Table1->ApplyUpdates(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Table1->CancelUpdates(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { Close(); } //---------------------------------------------------------------------------
При выполнении метода Post компонента Table1 новые записи накапливаются в кэше, а изменений в таблице, хранящейся на сервере, не происходит, что можно проконтролировать, например, с помощью утилиты Database Explorer. При нажатии на кнопку "Сохранить" внесенные записи переносятся на сервер, что также можно проконтролировать, перечитав редактируемую таблицу (рис.9):
Рис.9. Перенос содержимого кэша на сервер
| |
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий