ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
ADOConnection-> LoginPrompt в состояние false(если не хотите чтобы каждый раз вас не спрашивали Login и Password) В свойстве ADOQuery -> Connection установите соединение с объектом ADOConnection В свойстве ADOQuery -> SQL напишите запрос на выбор таблицы
Поставьте ADOQuery->Active в true Настройте остальные компоненты Поставьте свойство DataSource->DataSource1 в компонентах DBImage, DBMemo, DBEdit, DBGrid и свяжите их с соответствующими полями с помощью свойства DataField, также свяжите все компоненты отчёта (QRDBText,QRDBRichEdit и QuckRep) Создайте вычисляемое поле «Всего» Для этого зайдите в ADOQuery->Fields Editor, щёлкните правой кнопой мышии выберите New Field. В появившемся меню установите значения как показано на скриншоте и нажмите ОК:
3. Напишите следующие обработчики для первой формы.(добавьте #include "Unit2.h" и #include "Unit3.h" в начало кода)
void __fastcall TForm1::Button1Click(TObject *Sender) { //кнопка Первая ADOQuery1->First(); } //---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) { //кнопка Предыдущая ADOQuery1->Prior(); } //---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender) { //кнопка Следующая ADOQuery1->Next(); } //---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender) { //кнопка Последняя ADOQuery1->Last(); } //---------------------------------------------------------------------------
void __fastcall TForm1::Button8Click(TObject *Sender) { //Фильтрация ADOQuery1->Close(); if (Button8->Caption=="Отмена") //Отключение фильтрации { ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("SELECT * from SAMOSVALY"); Edit1->Text=""; Button8->Caption="Фильтрация по году выпуска"; } else { if(Edit1->Text.IsEmpty()) ShowMessage("Параметры фильтра не заданы!!!"); else { ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("SELECT * from SAMOSVALY where GOD='"+Edit1->Text+"'"); Button8->Caption="Отмена"; } } ADOQuery1->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::RadioGroup1Click(TObject *Sender) { //--------------------Сортировка------------------------- AnsiString StrSQL;
ADOQuery1->Close(); // разорвать связь с БД ADOQuery1->SQL->Clear(); // Очистка свойства SQL (запрпосов) switch (RadioGroup1->ItemIndex) { case 0: StrSQL = "SELECT * from SAMOSVALY order by MODEL ASC"; break; //Сортировка по возрастанию case 1: StrSQL = "SELECT * from SAMOSVALY order by MODEL DESC"; break; //Сортировка по убыванию case 2: StrSQL = "SELECT * from SAMOSVALY"; break; //нет сортировки } ADOQuery1->SQL->Add(StrSQL); ADOQuery1->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button5Click(TObject *Sender) { //кнопка Редактировать ADOQuery1->Edit(); Form2->DateTimePicker1->Date=ADOQuery1->FieldByName("GOD")->AsDateTime; Form1->Hide(); Form2->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button7Click(TObject *Sender) { //кнопка Добавить ADOQuery1->Insert(); Form1->Hide(); Form2->DateTimePicker1->Date=Date(); Form2->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button6Click(TObject *Sender) { //Кнопка удалить ADOQuery1->Delete(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) { //Событие OnKeyPress компонента Edit1 if((Key<'0')||(Key>'9')) Key=0; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button9Click(TObject *Sender) { //кнопка Отчёт Form3->QuickRep1->Preview(); } //--------------------------------------------------------------------------- void __fastcall TForm1::ADOQuery1CalcFields(TDataSet *DataSet) { //Событие OnCalcFields компонента ADOQuery ADOQuery1Vsego->AsFloat=ADOQuery1CENA->AsFloat*ADOQuery1KOL->AsInteger; }
4. Напишите следующие обработчики для второй формы.(добавьте #include "Unit2.h" в начало кода)
void __fastcall TForm2::DBImage1Click(TObject *Sender) { //Событие OnClick компонента DBImage1 if(OpenDialog1->Execute()) { if(Form1->ADOQuery1->State!= dsInsert && Form1->ADOQuery1->State!= dsEdit) Form1->ADOQuery1->Edit(); if(OpenDialog1->FileName!= "") DBImage1->Picture->LoadFromFile(OpenDialog1->FileName); } } //--------------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender) { //кнопка Запомнить Form1->ADOQuery1GOD->AsDateTime=Form2->DateTimePicker1->Date; ShowMessage(Form1->ADOQuery1Vsego->Value); Form1->ADOQuery1->Post(); ShowMessage(Form1->ADOQuery1Vsego->Value); Form1->ADOQuery1->Close(); Form1->ADOQuery1->Open(); Form2->Close(); Form1->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button2Click(TObject *Sender) { //кнопка Отменить Form1->ADOQuery1->CancelUpdates(); Form2->Close(); Form1->Show(); } 5. Добавьте #include "Unit1.h" в начало кода третьей формы 6.Запустите программу. Не нашли, что искали? Воспользуйтесь поиском:
|