Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
Az DataSet osztály és a kapcsolódó osztályok a 2000-es évek elejétől származó régi .NET-keretrendszer-technológiák, amelyek lehetővé teszik az alkalmazások számára a memóriában lévő adatokkal való munkát, miközben az alkalmazások leválasztva vannak az adatbázisról. A technológiák különösen hasznosak az olyan alkalmazások esetében, amelyek lehetővé teszik a felhasználók számára az adatok módosítását és a módosítások visszaállítását az adatbázisba. Bár az adathalmazok bizonyítottan sikeres technológiának számítanak, az új .NET-alkalmazásokhoz ajánlott az Entity Framework Core használata. Az Entity Framework természetesebb módot kínál a táblázatos adatok objektummodellként való használatához, és egyszerűbb programozási felülettel rendelkezik.
Az alkalmazásfejlesztés egyik leggyakoribb forgatókönyve, hogy adatokat jelenít meg egy űrlapon egy Windows-alkalmazásban, szerkessze az adatokat, és küldje vissza a frissített adatokat az adatbázisba. Ez az útmutató létrehoz egy űrlapot, amely két kapcsolódó tábla adatait jeleníti meg, és bemutatja, hogyan szerkesztheti a rekordokat, és hogyan mentheti a módosításokat az adatbázisba. Ez a példa a Northwind mintaadatbázisból származó Customers és Orders táblákat használja.
Az alkalmazásban lévő adatokat a TableAdapter metódus meghívásával mentheti vissza az Update adatbázisba. Amikor táblákat húz az Adatforrások ablakból egy űrlapra, a rendszer automatikusan hozzáadja az adatok mentéséhez szükséges kódot. Az űrlaphoz hozzáadott további táblákhoz szükség van a kód manuális hozzáadására. Ez az útmutató bemutatja, hogyan adhat hozzá kódot a frissítések mentéséhez több táblából.
Az ebben az útmutatóban bemutatott feladatok a következők:
Adatforrás létrehozása és konfigurálása az alkalmazásban az Adatforrás konfigurálása varázslóval.
Az Adatforrások ablak elemeinek vezérlőinek beállítása. További információ : Az Adatforrások ablakból való húzáskor létrehozandó vezérlő beállítása.
Adathoz kötött vezérlők létrehozása az Adatforrások ablak elemeinek az űrlapra húzásával.
Az adathalmaz minden táblájában módosít néhány rekordot.
A kód módosítása az adathalmaz frissített adatainak az adatbázisba való visszaküldéséhez.
Előfeltételek
Az oktatóanyag elvégzéséhez telepítenie kell a Visual Studióban telepített .NET asztali fejlesztési és adattárolási és feldolgozási számítási feladatokat. A telepítésükhöz nyissa meg Visual Studio Installer, és válassza a módosítani kívánt Visual Studio-verzió melletti módosítása (vagy További>módosítása) lehetőséget. Lásd a részt a Visual Studiomódosításáról.
Ez az útmutató az SQL Server Express LocalDB-t és a Northwind-mintaadatbázist használja.
Ha nem rendelkezik SQL Server Express LocalDB-vel, telepítse az SQL Server Express letöltési oldaláról vagy a Visual Studio Installeren keresztül. A Visual Studio Installeraz SQL Server Express LocalDB-t a Adattárolás és -feldolgozás részeként, vagy különálló összetevőként telepítheti.
Telepítse a Northwind mintaadatbázist az alábbi lépések végrehajtásával:
Nyissa meg a SQL Server Object Explorer ablakát a Visual Studióban. (Az SQL Server Object Explorer a Visual Studio Installer adattárolási és feldolgozási számítási feladatainak részeként van telepítve.) Bontsa ki az SQL Server-csomópontot . Jobb gombbal kattintson a LocalDB példányára, majd válassza az Új lekérdezéslehetőséget.
Megnyílik egy lekérdezésszerkesztő ablak.
Másolja a Northwind Transact-SQL szkriptet a vágólapra. Ez a T-SQL-szkript az alapoktól hozza létre a Northwind-adatbázist, és feltölti az adatokkal.
Illessze be a T-SQL-szkriptet a lekérdezésszerkesztőbe, majd válassza a Végrehajtás gombot.
Rövid idő elteltével a lekérdezés befejeződik, és létrejön a Northwind-adatbázis.
A Windows Forms alkalmazás létrehozása
Hozzon létre egy új Windows Forms-alkalmazásprojektet c# vagy Visual Basic rendszerhez. Nevezze el a projekt UpdateMultipleTablesWalkthrough nevét.
Az adatforrás létrehozása
Ez a lépés létrehoz egy adatforrást a Northwind-adatbázisból az Adatforrás konfigurálása varázslóval. A kapcsolat létrehozásához hozzáféréssel kell rendelkeznie a Northwind mintaadatbázishoz. A Northwind mintaadatbázis beállításával kapcsolatos információkért lásd: Útmutató: Mintaadatbázisok telepítése.
Az Adatok menüben válassza az Adatforrások megjelenítése lehetőséget.
Megnyílik az Adatforrások ablak.
Az Adatforrások ablakban válassza az Új adatforrás hozzáadása lehetőséget az Adatforrás konfigurációs varázslójának elindításához.
Az Adatforrástípus kiválasztása képernyőn válassza az Adatbázis lehetőséget, majd a Tovább lehetőséget.
Az Adatkapcsolat kiválasztása képernyőn tegye az alábbiak egyikét:
Ha a Northwind mintaadatbázishoz adatkapcsolat érhető el a legördülő listában, jelölje ki.
-vagy-
Válassza az Új kapcsolat lehetőséget a Kapcsolat hozzáadása/módosítása párbeszédpanel megnyitásához.
Ha az adatbázishoz jelszó szükséges, válassza a bizalmas adatok megadásának lehetőségét, majd válassza a Tovább gombot.
A Kapcsolati sztring mentése az alkalmazáskonfigurációs fájlba területen válassza a Tovább gombot.
Az Adatbázis-objektumok kiválasztása képernyőn bontsa ki a Táblák csomópontot .
Válassza ki a Vevők és rendelések táblát, majd a Befejezés lehetőséget.
A NorthwindDataSet hozzáadódik a projekthez, és a táblák megjelennek az Adatforrások ablakban.
A létrehozandó vezérlők beállítása
Ebben az útmutatóban a Customers táblázat adatai részletek elrendezésben jelennek meg, ahol az adatok az egyes vezérlőkben jelennek meg. A Orders táblázat adatai egy vezérlőben megjelenő rácselrendezésbenDataGridView jelennek meg.
Az Adatforrások ablak elemeinek legördülő típusának beállítása
Az Adatforrások ablakban bontsa ki az Ügyfelek csomópontot.
Az Ügyfelek csomóponton válassza a Részletek lehetőséget a vezérlőlistában a Vevők tábla vezérlőjének egyéni vezérlőkre való módosításához. További információ : Az Adatforrások ablakból való húzáskor létrehozandó vezérlő beállítása.
Az adathoz kötött űrlap létrehozása
Az adathoz kötött vezérlőket úgy hozhatja létre, hogy elemeket húz az Adatforrások ablakból az űrlapra.
Húzza a fő ügyfelek csomópontot az Adatforrások ablakból a Form1-be.
Az űrlapon leíró címkékkel ellátott adatkötésű vezérlők jelennek meg, valamint egy eszközsáv (BindingNavigator) a rekordok navigálásához. Egy NorthwindDataSet,
CustomersTableAdapter, BindingSource, és BindingNavigator megjelennek az összetevő tálcában.Húzza a kapcsolódó Rendelések csomópontot az Adatforrások ablakból a Form1-be.
Megjegyzés:
A kapcsolódó Rendelések csomópont a Fax oszlop alatt található, és az Ügyfelek csomópont gyermekcsomópontja.
Az DataGridView űrlapon megjelenik egy vezérlőelem és egy eszközsáv (BindingNavigator) a rekordok navigálásához. Egy
OrdersTableAdapterés BindingSource megjelenik az összetevő tálcán.
Kód hozzáadása az adatbázis frissítéséhez
Az adatbázist a Vevők és Rendelések táblaadapterek metódusainak Update meghívásával frissítheti. Alapértelmezés szerint a rendszer hozzáad egy eseménykezelőt az űrlap kódjához a Mentés gombhozBindingNavigator , hogy frissítéseket küldjön az adatbázisnak. Ez az eljárás módosítja a kódot, hogy a frissítéseket a megfelelő sorrendben küldje el. Ez kiküszöböli a hivatkozási integritási hibák lehetőségét. A kód a hibakezelést úgy is megvalósítja, hogy a frissítési hívást egy kipróbálási blokkba csomagolja. A kódot az alkalmazás igényeinek megfelelően módosíthatja.
Megjegyzés:
Az egyértelműség kedvéért ez az útmutató nem használ tranzakciót. Ha azonban két vagy több kapcsolódó táblát frissít, adja meg a tranzakció összes frissítési logikáját. A tranzakciók olyan folyamatok, amelyek biztosítják, hogy az adatbázis összes kapcsolódó módosítása sikeres legyen a módosítások véglegesítése előtt. További információ: Tranzakciók és egyidejűség.
Frissítési logika hozzáadása az alkalmazáshoz
Válassza a Mentés gombot a BindingNavigator. Ezzel megnyitja a Kódszerkesztőt az
bindingNavigatorSaveItem_Clickeseménykezelőnek.Cserélje le a kódot az eseménykezelőben a
Updatekapcsolódó TableAdapters metódusainak meghívásához. A következő kód először három ideiglenes adattáblát hoz létre, hogy az DataRowState, Deleted, Added és Modified frissített információit tartalmazzák. A frissítések a megfelelő sorrendben futnak. A kódnak a következőképpen kell kinéznie:this.Validate(); this.ordersBindingSource.EndEdit(); this.customersBindingSource.EndEdit(); NorthwindDataSet.OrdersDataTable deletedOrders = (NorthwindDataSet.OrdersDataTable) northwindDataSet.Orders.GetChanges(DataRowState.Deleted); NorthwindDataSet.OrdersDataTable newOrders = (NorthwindDataSet.OrdersDataTable) northwindDataSet.Orders.GetChanges(DataRowState.Added); NorthwindDataSet.OrdersDataTable modifiedOrders = (NorthwindDataSet.OrdersDataTable) northwindDataSet.Orders.GetChanges(DataRowState.Modified); try { // Remove all deleted orders from the Orders table. if (deletedOrders != null) { ordersTableAdapter.Update(deletedOrders); } // Update the Customers table. customersTableAdapter.Update(northwindDataSet.Customers); // Add new orders to the Orders table. if (newOrders != null) { ordersTableAdapter.Update(newOrders); } // Update all modified Orders. if (modifiedOrders != null) { ordersTableAdapter.Update(modifiedOrders); } northwindDataSet.AcceptChanges(); } catch (System.Exception ex) { MessageBox.Show("Update failed"); } finally { if (deletedOrders != null) { deletedOrders.Dispose(); } if (newOrders != null) { newOrders.Dispose(); } if (modifiedOrders != null) { modifiedOrders.Dispose(); } }
Az alkalmazás tesztelése
Nyomja meg a F5gombokat.
Módosítsa az egyes táblák egy vagy több rekordjának adatait.
Válassza ki a Mentés gombot.
Ellenőrizze az adatbázisban lévő értékeket a módosítások mentésének ellenőrzéséhez.