edytuje se tak:
// wiem ze to troche bez sensu z tworzeniem tego obiektu ale musze wykorzystac swoje klasy maxymalnie
customer *obiekt = new customer(Customers->Edit_City->Text, Customers->Edit_adress->Text, Customers->MaskEdit_phone->Text);
Company->ClientDataSet_cust->Edit();
Company->ClientDataSet_cust->Fields->Fields[3]->AsString = obiekt->city;
Company->ClientDataSet_cust->Fields->Fields[4]->AsString = obiekt->adress;
Company->ClientDataSet_cust->Fields->Fields[7]->AsString = obiekt->phone;
Company->ClientDataSet_cust->Post();
delete obiekt;
a dodaje se tak do bazy:
{
customer *obiekt = new customer(Customers->Edit_F_Name->Text, Customers->Edit_L_Name->Text, Customers->Edit_City->Text, Customers->Edit_adress->Text, Customers->MaskEdit_phone->Text,0,0,0,0, DateToStr(Date()));
obiekt->add_to_DB(Company->ClientDataSet_cust);
Customers->Hide();
}
gdzie obiekt->add_to_DB(Company->ClientDataSet_cust); wygląda tak:
void customer::add_to_DB(TClientDataSet *base)
{
base->FieldByName("ID")->AsInteger = this->make_index(base);
base->FieldByName("First Name")->AsString = this->first_name;
base->FieldByName("Last Name")->AsString = this->last_name;
base->FieldByName("City")->AsString = this->city;
base->FieldByName("Adress")->AsString = this->adress;
base->FieldByName("Cars rent currently")->AsInteger = this->cars_curr_rent;
base->FieldByName("Total cars rent")->AsInteger = this->cars_rent;
base->FieldByName("Cell phone")->AsString = this->phone;
base->FieldByName("Km made")->AsInteger = this->km_made;
base->FieldByName("Money spent")->AsFloat = this->money_spent;
base->FieldByName("Date of registry")->AsDateTime = this->date_reg;
}
gdzie: this->make_index(base); jest funkcją ważną w której ustawiam tryb dodawania do bazy:
int customer::make_index(TClientDataSet *base)
{
int i = 0;
base->FindLast();
try
{
i = base->Fields->Fields[0]->AsInteger;
}
catch (Exception &exception)
{
i = 0;
}
i++;
base->Append();
base->Fields->Fields[0]->AsInteger = i;
return i;
}
:) troche zawiniety kod chyba