Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 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.Запустите программу.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных