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.
Language-Integrated lekérdezések (LINQ) megkönnyítik az adatbázis-információk elérését és az adatbázisban lévő értékek módosítását.
Az alábbi példa bemutatja, hogyan hozhat létre egy új alkalmazást, amely adatokat kér le és frissít egy SQL Server-adatbázisban.
A cikkben szereplő példák a Northwind mintaadatbázist használják. Az adatbázis beszerzéséhez lásd: Mintaadatbázisok letöltése.
Adatbázis-kapcsolat létrehozása
A Visual Studióban nyissa meg Server Explorer/Database Explorer a Nézet menüre kattintva, majd válassza Server Explorer/Database Explorerlehetőséget.
Kattintson a jobb gombbal Kiszolgálókezelő/ adatkapcsolatokra, majd kattintson Kapcsolat hozzáadásaparancsra.
Adjon meg érvényes kapcsolatot a Northwind mintaadatbázishoz.
LinQ-val rendelkező projekt hozzáadása AZ SQL-fájlhoz
A Visual Studióban a Fájl menüben mutasson a Új elemre, majd kattintson a Projektparancsra. Projekttípusként válassza a Visual Basic Windows Forms-alkalmazás lehetőséget.
A Project menüben kattintson az Új elemmenüpontra. Válassza ki a LINQ-t az SQL-osztályok elemsablonhoz.
Nevezze el a fájlt
northwind.dbml. Kattintson a hozzáadása gombra. Az Objektum-relációs tervező (O/R Designer) megnyílt anorthwind.dbmlfájl számára.
Táblák hozzáadása a lekérdezés és módosítás érdekében a tervezőben
A Server Explorer/Database Explorerterületen bontsa ki a Northwind-adatbázishoz való kapcsolatot. Nyissa meg a Táblák mappát.
Ha bezárta az O/R Designert, újra megnyithatja a korábban hozzáadott
northwind.dbmlfájlra duplán kattintva.Kattintson a Vevők táblára, és húzza a tervező bal oldali paneljára.
A tervező létrehoz egy új ügyfélobjektumot a projekthez.
Mentse a módosításokat, és zárja be a tervezőt.
Mentse a projektet.
Kód hozzáadása az adatbázis módosításához és az eredmények megjelenítéséhez
A eszközkészlet-ből húzza a DataGridView vezérlőt az alapértelmezett Windows-űrlapjára, a Form1-re.
Amikor táblákat adott hozzá az O/R Designerhez, a tervező hozzáadott egy DataContext objektumot a projekthez. Ez az objektum olyan kódot tartalmaz, amellyel elérheti a Vevők táblát. Olyan kódot is tartalmaz, amely meghatároz egy helyi Ügyfél objektumot és egy Ügyfélgyűjteményt a táblához. A projekt DataContext objektuma a .dbml fájl neve alapján lesz elnevezve. Ebben a projektben a DataContext objektum neve
northwindDataContext.Létrehozhatja a DataContext objektum egy példányát a kódban, és lekérdezheti és módosíthatja az O/R Designer által megadott Ügyfelek gyűjteményt. Az Ügyfelek gyűjteményben végzett módosítások mindaddig nem jelennek meg az adatbázisban, amíg el nem küldi őket az SubmitChanges objektum DataContext metódusának meghívásával.
Kattintson duplán a Windows Form, Form1 űrlapra, hogy kódot adjon a Load eseményhez az DataContexttulajdonságaként közzétett Ügyfelek tábla lekérdezéséhez. Adja hozzá a következő kódot:
Private db As northwindDataContext Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles MyBase.Load db = New northwindDataContext() RefreshData() End Sub Private Sub RefreshData() Dim customers = From cust In db.Customers Where cust.City(0) = "W" Select cust DataGridView1.DataSource = customers End SubAz eszközkészlet-ből húzzon három Button vezérlőt az űrlapra. Válassza ki az első
Buttonvezérlőelemet. A Tulajdonságok ablakban állítsa be aNamevezérlőButtonAddButton-re, és aTextpedigAddértékre. Válassza a második gombot, és állítsa aNametulajdonságotUpdateButton, aTexttulajdonságot pedigUpdate. Válassza a harmadik gombot, és állítsa aNametulajdonságotDeleteButton, aTexttulajdonságot pedigDelete.Dupla kattintással a hozzáadása gombra adjon hozzá kódot annak
Clickeseményéhez. Adja hozzá a következő kódot:Private Sub AddButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles AddButton.Click Dim cust As New Customer With { .City = "Wellington", .CompanyName = "Blue Yonder Airlines", .ContactName = "Jill Frank", .Country = "New Zealand", .CustomerID = "JILLF"} db.Customers.InsertOnSubmit(cust) Try db.SubmitChanges() Catch ' Handle exception. End Try RefreshData() End SubA Frissítés gombra duplán kattintva kódot adhat hozzá a
Clickeseményhez. Adja hozzá a következő kódot:Private Sub UpdateButton_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs ) Handles UpdateButton.Click Dim updateCust = (From cust In db.Customers Where cust.CustomerID = "JILLF").ToList()(0) updateCust.ContactName = "Jill Shrader" updateCust.Country = "Wales" updateCust.CompanyName = "Red Yonder Airlines" updateCust.City = "Cardiff" Try db.SubmitChanges() Catch ' Handle exception. End Try RefreshData() End SubKattintson duplán a Törlés gombra, hogy kódot adjon hozzá a(z)
Clickeseményhez. Adja hozzá a következő kódot:Private Sub DeleteButton_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs ) Handles DeleteButton.Click Dim deleteCust = (From cust In db.Customers Where cust.CustomerID = "JILLF").ToList()(0) db.Customers.DeleteOnSubmit(deleteCust) Try db.SubmitChanges() Catch ' Handle exception. End Try RefreshData() End SubNyomja le az F5 billentyűt a projekt futtatásához. Új rekord hozzáadásához kattintson a hozzáadása elemre. Kattintson frissítése gombra az új rekord módosításához. Kattintson Törlés elemre az új rekord törléséhez.