<prompt> Tengeneza programu ya Fomu za C Windows ambayo inaunganisha kwenye hifadhidata ya MySQL na kuonyesha jedwali la maagizo ya wateja. Programu inapaswa kuruhusu watumiaji kuchuja maagizo yaliyoonyeshwa kulingana na anuwai ya tarehe na hali ya agizo. Tekeleza utunzaji na ukataji wa magogo unaofaa.  <response>: Ili kuunda programu ya Fomu za C Windows ambayo inaunganisha kwenye hifadhidata ya MySQL na kuonyesha jedwali la maagizo ya wateja, fuata hatua hizi:1. Sakinisha vifurushi vinavyohitajika: - Fungua Studio ya Visual na uunde mradi mpya wa Windows Forms App .NET. - Katika Solution Explorer, bonyeza-kulia kwenye mradi wako na uchague Dhibiti Vifurushi vya NuGet. - Tafuta MySql.Data na usakinishe toleo la hivi karibuni la kifurushi.2. Tengeneza fomu: - Ongeza udhibiti wa DataGridView ili kuonyesha maagizo ya wateja. - Ongeza vidhibiti vya DateTimePicker kwa kuchagua kipindi. - Ongeza udhibiti wa ComboBox kwa kuchagua hali ya agizo. - Ongeza udhibiti wa Kitufe ili kutumia vichungi.3. Sanidi kamba ya unganisho: - Katika faili ya app.config, ongeza msimbo ufuatao ndani ya lebo ya :xml Badilisha nenosiri_lako na database_yako kwa nenosiri lako halisi la MySQL na jina la hifadhidata.4. Tekeleza mantiki kuu katika Form1.cs: mkalikwa kutumia MySql.Data.MySqlClient;kutumia Mfumo;kwa kutumia System.Configuration;kwa kutumia System.Data;kwa kutumia Mfumo.Windows.Forms;nafasi ya majina CustomerOrdersApp darasa la sehemu ya umma Kidato cha1 : Fomu uunganisho wa kibinafsi wa MySqlConnection; binafsi MySqlCommand _command; binafsi MySqlDataAdapta _adapta; Jedwali la data la kibinafsi _dataTable; fomu ya umma1 AnzishaComponent; InitializeOrderStatusComboBox; LoadData; utupu binafsi InitializeOrderStatusComboBox comboBoxOrderStatus.Items.AddAll; comboBoxOrderStatus.Items.AddPending; comboBoxOrderStatus.Items.AddImesafirishwa; comboBoxOrderStatus.SelectedIndex 0; utupu binafsi LoadData jaribu _connection MySqlConnection mpyaConfigurationManager.ConnectionStringsMySQLConnection.ConnectionString; _command MySqlCommand mpyaCHAGUA KUTOKA kwa maagizo_ya_mteja, _muunganisho; _adapta Adapta mpya ya MySqlData_command; _dataTable new DataTable; _adapta.Jaza_dataTable; dataGridViewOrders.DataSource _dataTable; kukamata isipokuwa MessageBox.ShowHitilafu: ex.Message, Hitilafu, MessageBoxButtons.OK, MessageBoxIcon.Error; utupu wa faragha btnFilter_Clickmtumaji wa kitu, EventArgs e jaribu string dateFrom dateTimePickerFrom.Value.ToStringyyy-MM-dd; string dateTo dateTimePickerTo.Value.ToStringyyy-MM-dd; string orderStatus comboBoxOrderStatus.SelectedItem.ToString; string query CHAGUA KUTOKA kwa maagizo_ya_mteja AMBAPO tarehe_ya kuagiza KATI YA dateFrom NA dateTo; ikiwa orderStatus ! All swala NA order_status orderStatus; _command.CommandText swala; _dataTable.Clear; _adapta.Jaza_dataTable; kukamata isipokuwa MessageBox.ShowHitilafu: ex.Message, Hitilafu, MessageBoxButtons.OK, MessageBoxIcon.Error; Msimbo huu unadhania kuwa una jedwali linaloitwa maagizo_ya_mteja yenye safu wima kama vile tarehe_ya_agizo na hadhi_ya_agizo. Badilisha majina haya na majina yako halisi ya jedwali na safu wima.5. Tekeleza programu: - Bonyeza F5 ili kuendesha programu. - DataGridView inapaswa kuonyesha maagizo ya wateja kutoka hifadhidata ya MySQL. - Tumia vidhibiti vya DateTimePicker kuchagua kipindi na udhibiti wa ComboBox ili kuchagua hali ya agizo. - Bofya kitufe cha Kichujio ili kutumia vichujio kwenye data iliyoonyeshwa.Kumbuka: Mfano huu unaonyesha utunzaji wa kimsingi na haujumuishi ukataji miti. Unaweza kuongeza ukataji miti kwa kutumia maktaba kama NLog au Serilog, au kwa kutekeleza suluhisho lako la ukataji miti maalum. 