![]() |
Georgetown Cleaning Services |
In a database environment, a query is a list of values created from another list. For example, a query can be created from a table by isolating records that follow a criterion. The .NET Framework supports queries through the DataView class. With a DataView object, you can create a selected list of records and you can then perform all types of regular operations of a database object, including:
To create a DataView object, you can first declare a pointer to DataView. If you are working in Microsoft Visual Studio, in the Data section of the Toolbox, you can click the DataView button and click a container such as a form. After creating a DataView object, to perform a desired operation on it, you can use the SQL. |
|
|
System::Void btnOpen_Click(System::Object * sender, System::EventArgs * e)
{
if( this->txtReceiptNumber->Text->Equals(S"") )
{
MessageBox::Show(S"Please enter a receipt number");
this->txtReceiptNumber->Focus();
return;
}
int iReceiptNumber = this->txtReceiptNumber->Text->ToInt32(0);
this->oleDbDataAdapter1->Fill(this->dsCleaningOrders1);
this->dvwCleaningOrder->RowFilter = String::Concat(S"CleaningOrderID = '", iReceiptNumber.ToString(), "'");
this->txtCustomerName->DataBindings->Clear();
this->txtCustomerPhone->DataBindings->Clear();
this->dtpDateLeft->DataBindings->Clear();
this->dtpTimeLeft->DataBindings->Clear();
this->dtpDateExpected->DataBindings->Clear();
this->dtpTimeExpected->DataBindings->Clear();
this->txtShirtsUnitPrice->DataBindings->Clear();
this->txtShirtsQuantity->DataBindings->Clear();
this->txtShirtsSubTotal->DataBindings->Clear();
this->txtPantsUnitPrice->DataBindings->Clear();
this->txtPantsQuantity->DataBindings->Clear();
this->txtPantsSubTotal->DataBindings->Clear();
this->cboItem1->DataBindings->Clear();
this->txtItem1UnitPrice->DataBindings->Clear();
this->txtItem1Quantity->DataBindings->Clear();
this->txtItem1SubTotal->DataBindings->Clear();
this->cboItem2->DataBindings->Clear();
this->txtItem2UnitPrice->DataBindings->Clear();
this->txtItem2Quantity->DataBindings->Clear();
this->txtItem2SubTotal->DataBindings->Clear();
this->cboItem3->DataBindings->Clear();
this->txtItem3UnitPrice->DataBindings->Clear();
this->txtItem3Quantity->DataBindings->Clear();
this->txtItem3SubTotal->DataBindings->Clear();
this->cboItem4->DataBindings->Clear();
this->txtItem4UnitPrice->DataBindings->Clear();
this->txtItem4Quantity->DataBindings->Clear();
this->txtItem4SubTotal->DataBindings->Clear();
this->txtCleaningTotal->DataBindings->Clear();
this->txtTaxRate->DataBindings->Clear();
this->txtTaxAmount->DataBindings->Clear();
this->txtOrderTotal->DataBindings->Clear();
this->txtCustomerName->DataBindings->Add(S"Text", this->dvwCleaningOrder, "CustomerName");
this->txtCustomerPhone->DataBindings->Add(S"Text", this->dvwCleaningOrder, "CustomerPhone");
this->dtpDateLeft->DataBindings->Add("Value", this->dvwCleaningOrder, "DateLeft");
this->dtpTimeLeft->DataBindings->Add("Value", this->dvwCleaningOrder, "TimeLeft");
this->dtpDateExpected->DataBindings->Add("Value", this->dvwCleaningOrder, "DateExpected");
this->dtpTimeExpected->DataBindings->Add("Value", this->dvwCleaningOrder, "TimeExpected");
this->txtShirtsUnitPrice->DataBindings->Add(S"Text", this->dvwCleaningOrder, "ShirtsUnitPrice");
this->txtShirtsQuantity->DataBindings->Add(S"Text", this->dvwCleaningOrder, "ShirtsQuantity");
this->txtShirtsSubTotal->DataBindings->Add(S"Text", this->dvwCleaningOrder, "ShirtsSubTotal");
this->txtPantsUnitPrice->DataBindings->Add(S"Text", this->dvwCleaningOrder, "PantsUnitPrice");
this->txtPantsQuantity->DataBindings->Add(S"Text", this->dvwCleaningOrder, "PantsQuantity");
this->txtPantsSubTotal->DataBindings->Add(S"Text", this->dvwCleaningOrder, "PantsSubTotal");
this->cboItem1->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item1Name");
this->txtItem1UnitPrice->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item1UnitPrice");
this->txtItem1Quantity->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item1Quantity");
this->txtItem1SubTotal->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item1SubTotal");
this->cboItem2->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item2Name");
this->txtItem2UnitPrice->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item2UnitPrice");
this->txtItem2Quantity->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item2Quantity");
this->txtItem2SubTotal->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item2SubTotal");
this->cboItem3->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item3Name");
this->txtItem3UnitPrice->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item3UnitPrice");
this->txtItem3Quantity->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item3Quantity");
this->txtItem3SubTotal->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item3SubTotal");
this->cboItem4->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item4Name");
this->txtItem4UnitPrice->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item4UnitPrice");
this->txtItem4Quantity->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item4Quantity");
this->txtItem4SubTotal->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"Item4SubTotal");
this->txtCleaningTotal->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"CleaningTotal");
this->txtTaxRate->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"TaxRate");
this->txtTaxAmount->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"TaxAmount");
this->txtOrderTotal->DataBindings->Add(S"Text", this->dvwCleaningOrder, S"OrderTotal");
IsNewOrder = false;
}
|
// This method is used to update an existing record if the user changes any of its values
void UpdateCleaningOrder(void)
{
// Find out if this is a new, usually started as blank, order
// If it is, trust that the user will save it by clicking the Save button
// If it's not, then, if the user changed the string that was in the
// Customer Name text box, update the current record
if( IsNewOrder == false )
{
String *strUpdate = String::Concat(S"UPDATE CleaningOrders ",
S"SET CustomerName = '", this->txtCustomerName->Text, S"', ",
S"CustomerPhone = '", this->txtCustomerPhone->Text, S"', ",
S"DateLeft = '", this->dtpDateLeft->Value.ToString(), S"', ",
S"TimeLeft = '", this->dtpTimeLeft->Value.ToString(), S"', ",
S"DateExpected = '", this->dtpDateExpected->Value.ToString(), S"', ",
S"TimeExpected = '", this->dtpTimeExpected->Value.ToString(), S"', ",
S"ShirtsUnitPrice = '", this->txtShirtsUnitPrice->Text, S"', ",
S"ShirtsQuantity = '", this->txtShirtsQuantity->Text, S"', ",
S"ShirtsSubTotal = '", this->txtShirtsSubTotal->Text, S"', ",
S"PantsUnitPrice = '", this->txtPantsUnitPrice->Text, S"', ",
S"PantsQuantity = '", this->txtPantsQuantity->Text, S"', ",
S"PantsSubTotal = '", this->txtPantsSubTotal->Text, S"', ",
S"Item1Name = '", this->cboItem1->Text, S"', ",
S"Item1UnitPrice = '", this->txtItem1UnitPrice->Text, S"', ",
S"Item1Quantity = '", this->txtItem1Quantity->Text, S"', ",
S"Item1SubTotal = '", this->txtItem1SubTotal->Text, S"', ",
S"Item2Name = '", this->cboItem2->Text, S"', ",
S"Item2UnitPrice = '", this->txtItem2UnitPrice->Text, S"', ",
S"Item2Quantity = '", this->txtItem2Quantity->Text, S"', ",
S"Item2SubTotal = '", this->txtItem2SubTotal->Text, S"', ",
S"Item3Name = '", this->cboItem3->Text, S"', ",
S"Item3UnitPrice = '", this->txtItem3UnitPrice->Text, S"', ",
S"Item3Quantity = '", this->txtItem3Quantity->Text, S"', ",
S"Item3SubTotal = '", this->txtItem3SubTotal->Text, S"', ",
S"Item4Name = '", this->cboItem4->Text, S"', ",
S"Item4UnitPrice = '", this->txtItem4UnitPrice->Text, S"', ",
S"Item4Quantity = '", this->txtItem4Quantity->Text, S"', ",
S"Item4SubTotal = '", this->txtItem4SubTotal->Text, S"', ",
S"CleaningTotal = '", this->txtCleaningTotal->Text, S"', ",
S"TaxRate = '", this->txtTaxRate->Text, S"', ",
S"TaxAmount = '", this->txtTaxAmount->Text, S"', ",
S"OrderTotal = '", this->txtOrderTotal->Text, S"' ",
S"WHERE CleaningOrderID = ",
this->txtReceiptNumber->Text, S";");
OleDbCommand *cmdDatabase = new OleDbCommand(strUpdate, oleDbConnection1);
oleDbConnection1->Open();
cmdDatabase->ExecuteNonQuery();
oleDbConnection1->Close();
}
}
|
System::Void txtCustomerName_Leave(System::Object * sender, System::EventArgs * e)
{
if( IsNewOrder == false )
{
UpdateCleaningOrder();
}
}
|
System::Void txtCustomerPhone_Leave(System::Object * sender, System::EventArgs * e)
{
if( IsNewOrder == false )
{
UpdateCleaningOrder();
}
}
|
System::Void dtpDateLeft_ValueChanged(System::Object * sender, System::EventArgs * e)
{
DateTime dateLeft = this->dtpDateLeft->Value;
DateTime timeLeft = this->dtpTimeLeft->Value;
DateTime time9AM = DateTime(timeLeft.Year, timeLeft.Month, timeLeft.Day, 9, 0, 0);
// If the customer leaves clothes before 9AM...
if( timeLeft <= time9AM )
{
// ... then they should be ready the same day after 5PM
this->dtpDateExpected->Value = dateLeft;
this->dtpTimeExpected->Value = DateTime(dateLeft.Year, dateLeft.Month, dateLeft.Day, 17, 0, 0);
}
else
{
// If the clothese were left after 9AM, they will be availablethe following morning at 8AM
this->dtpDateExpected->Value = DateTime(dateLeft.Year, dateLeft.Month, dateLeft.Day + 1);
this->dtpTimeExpected->Value = DateTime(dateLeft.Year, dateLeft.Month, dateLeft.Day + 1, 8, 0, 0);
}
if( IsNewOrder == false )
{
UpdateCleaningOrder();
}
}
|
System::Void dtpTimeLeft_ValueChanged(System::Object * sender, System::EventArgs * e)
{
DateTime dateLeft = this->dtpDateLeft->Value;
DateTime timeLeft = this->dtpTimeLeft->Value;
DateTime time9AM = DateTime(timeLeft.Year, timeLeft.Month, timeLeft.Day, 9, 0, 0);
// If the customer leaves clothes before 9AM...
if( timeLeft <= time9AM )
{
// ... then they should be ready the same day after 5PM
this->dtpDateExpected->Value = dateLeft;
this->dtpTimeExpected->Value = DateTime(dateLeft.Year, dateLeft.Month, dateLeft.Day, 17, 0, 0);
}
else
{
// If the clothese were left after 9AM, they will be availablethe following morning at 8AM
this->dtpDateExpected->Value = DateTime(dateLeft.Year, dateLeft.Month, dateLeft.Day + 1);
this->dtpTimeExpected->Value = DateTime(dateLeft.Year, dateLeft.Month, dateLeft.Day + 1, 8, 0, 0);
}
if( IsNewOrder == false )
{
UpdateCleaningOrder();
}
}
|
System::Void dtpDateExpected_ValueChanged(System::Object * sender, System::EventArgs * e)
{
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void dtpTimeExpected_ValueChanged(System::Object * sender, System::EventArgs * e)
{
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtShirtsUnitPrice_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtShirtsQuantity_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtPantsUnitPrice_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtPantsQuantity_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void cboItem1_SelectedIndexChanged(System::Object * sender, System::EventArgs * e)
{
if( this->cboItem1->Text->Equals(S"None") )
{
this->txtItem1UnitPrice->Text = S"0.00";
this->txtItem1Quantity->Text = S"0";
this->txtItem1SubTotal->Text = S"0.00";
}
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtItem1UnitPrice_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtItem1Quantity_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void cboItem2_SelectedIndexChanged(System::Object * sender, System::EventArgs * e)
{
if( this->cboItem2->Text->Equals(S"None") )
{
this->txtItem2UnitPrice->Text = S"0.00";
this->txtItem2Quantity->Text = S"0";
this->txtItem2SubTotal->Text = S"0.00";
}
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtItem2UnitPrice_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtItem2Quantity_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void cboItem3_SelectedIndexChanged(System::Object * sender, System::EventArgs * e)
{
if( this->cboItem3->Text->Equals(S"None") )
{
this->txtItem3UnitPrice->Text = S"0.00";
this->txtItem3Quantity->Text = S"0";
this->txtItem3SubTotal->Text = S"0.00";
}
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtItem3UnitPrice_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtItem3Quantity_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void cboItem4_SelectedIndexChanged(System::Object * sender, System::EventArgs * e)
{
if( this->cboItem4->Text->Equals(S"None") )
{
this->txtItem4UnitPrice->Text = S"0.00";
this->txtItem4Quantity->Text = S"0";
this->txtItem4SubTotal->Text = S"0.00";
}
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtItem4UnitPrice_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtItem4Quantity_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void txtTaxRate_Leave(System::Object * sender, System::EventArgs * e)
{
CalculateCleaningOrder();
if( IsNewOrder == false )
UpdateCleaningOrder();
}
|
System::Void btnClose_Click(System::Object * sender, System::EventArgs * e)
{
Close();
}
|
![]() |
![]() |
![]() |
|
|
||
| Previous | Copyright © 2005-2016, FunctionX | |
|
|
||