Útmutató: Csak tárolt eljárások használata (Visual Basic)
Ez az útmutató egy alapvető, teljes körű LINQ-t biztosít az SQL-forgatókönyvhöz, amely csak tárolt eljárások használatával fér hozzá az adatokhoz. Ezt a módszert gyakran használják az adatbázisgazdák az adattár elérésének korlátozására.
Feljegyzés
A LINQ-ban tárolt eljárásokat az SQL-alkalmazásokban is használhatja az alapértelmezett viselkedés felülbírálásához, különösen a , Update
és Delete
folyamatok esetébenCreate
. További információ: Beszúrási, frissítési és törlési műveletek testreszabása.
Az útmutató alkalmazásában két módszert fog használni, amelyek a Northwind mintaadatbázisban tárolt eljárásokra vannak leképezve: A CustOrdersDetail és a CustOrderHist. A leképezés akkor fordul elő, ha az SqlMetal parancssori eszköz futtatásával létrehoz egy Visual Basic-fájlt. További információkért tekintse meg az útmutató későbbi, Előfeltételek szakaszát.
Ez az útmutató nem támaszkodik az objektumrelációs Tervező. A Visual Studiót használó fejlesztők az O/R Tervező használatával is implementálhatják a tárolt eljárás funkcióit. Lásd: LINQ–SQL Tools a Visual Studióban.
Feljegyzés
Előfordulhat, hogy a számítógép különböző neveket vagy helyeket jelenít meg a Visual Studio felhasználói felületének egyes elemeihez az alábbi utasításokban. Ezeket az elemeket a Visual Studio-kiadás és a használt beállítások határozzák meg. További információ: Az IDE személyre szabása.
Ez az útmutató a Visual Basic Development Gépház használatával készült.
Előfeltételek
Ehhez az útmutatóhoz a következők szükségesek:
Ez az útmutató egy dedikált mappát ("c:\linqtest3") használ a fájlok tárolásához. Az útmutató megkezdése előtt hozza létre ezt a mappát.
A Northwind mintaadatbázis.
Ha nem rendelkezik ezzel az adatbázissal a fejlesztői számítógépén, letöltheti azt a Microsoft letöltési webhelyéről. Útmutatásért lásd : Mintaadatbázisok letöltése. Az adatbázis letöltése után másolja a northwnd.mdf fájlt a c:\linqtest3 mappába.
A Northwind-adatbázisból létrehozott Visual Basic-kódfájl.
Ezt az útmutatót az SqlMetal eszközzel, a következő parancssorral írták:
sqlmetal /code:"c:\linqtest3\northwind.vb" /language:vb "c:\linqtest3\northwnd.mdf" /sprocs /functions /pluralize
További információ: SqlMetal.exe (Kódgenerálási eszköz).
Áttekintés
Ez az útmutató hat fő feladatból áll:
A LINQ beállítása SQL-megoldásként a Visual Studióban.
A System.Data.Linq szerelvény hozzáadása a projekthez.
Az adatbázis kódfájljának hozzáadása a projekthez.
Kapcsolat létrehozása az adatbázissal.
A felhasználói felület beállítása.
Az alkalmazás futtatása és tesztelése.
LINQ létrehozása SQL-megoldáshoz
Ebben az első feladatban létrehoz egy Visual Studio-megoldást, amely tartalmazza a LINQ-projekt létrehozásához és futtatásához szükséges hivatkozásokat.
LINQ–SQL-megoldás létrehozása
A Visual Studio Fájl menüjében kattintson az Új projekt gombra.
Az Új projekt párbeszédpanel Projekttípusok paneljén bontsa ki a Visual Basic elemet, majd kattintson a Windows gombra.
A Sablonok panelen kattintson a Windows Forms-alkalmazás elemre.
A Név mezőbe írja be a SprocOnlyApp kifejezést.
Kattintson az OK gombra.
Megnyílik a Windows Forms Tervező.
A LINQ hozzáadása az SQL Assembly-referenciahoz
A LINQ–SQL-szerelvény nem szerepel a szabványos Windows Forms-alkalmazássablonban. A szerelvényt saját maga kell hozzáadnia, az alábbi lépésekben leírtak szerint:
System.Data.Linq.dll hozzáadása
A Megoldáskezelő kattintson az Összes fájl megjelenítése elemre.
A Megoldáskezelő kattintson a jobb gombbal a Hivatkozások elemre, majd kattintson a Hivatkozás hozzáadása parancsra.
A Hivatkozás hozzáadása párbeszédpanelen kattintson a .NET, a System.Data.Linq szerelvényre, majd az OK gombra.
A rendszer hozzáadja a szerelvényt a projekthez.
A Northwind-kódfájl hozzáadása a projekthez
Ez a lépés feltételezi, hogy az SqlMetal eszközzel létrehozott egy kódfájlt a Northwind mintaadatbázisból. További információkért tekintse meg az útmutató korábbi, Előfeltételek szakaszát.
A northwind kódfájl hozzáadása a projekthez
A Projekt menüben kattintson a Meglévő elem hozzáadása elemre.
A Meglévő elem hozzáadása párbeszédpanelen lépjen a c:\linqtest3\northwind.vb elemre, majd kattintson a Hozzáadás gombra.
A northwind.vb fájl hozzá lesz adva a projekthez.
Adatbázis-Csatlakozás ion létrehozása
Ebben a lépésben definiálja a Northwind mintaadatbázishoz való kapcsolatot. Ez az útmutató a "c:\linqtest3\northwnd.mdf" elérési utat használja.
Az adatbázis-kapcsolat létrehozása
A Megoldáskezelő kattintson a jobb gombbal a Form1.vb, majd a Kód megtekintése parancsra.
Class Form1
megjelenik a kódszerkesztőben.Írja be a következő kódot a
Form1
kódblokkba:Dim db As New Northwnd("c:\linqtest3\northwnd.mdf")
A felhasználói felület beállítása
Ebben a feladatban létrehoz egy felületet, amellyel a felhasználók tárolt eljárásokat hajthatnak végre az adatbázis adatainak eléréséhez. Az ebben az útmutatóban fejlesztett alkalmazásban a felhasználók csak az alkalmazásba beágyazott tárolt eljárások használatával férhetnek hozzá az adatbázisban lévő adatokhoz.
A felhasználói felület beállítása
Térjen vissza a Windows Forms Tervező (Form1.vb[Tervezés]).
A Nézet menüben kattintson az Eszközkészlet elemre.
Megnyílik az eszközkészlet.
Feljegyzés
Kattintson az AutoHide pushpinre az eszközkészlet nyitva tartásához, miközben végrehajtja a szakasz hátralévő lépéseit.
Húzzon két gombot, két szövegdobozt és két címkét az eszközkészletből a Form1-be.
Rendezze el a vezérlőket a mellékelt ábrán látható módon. Bontsa ki a Form1 elemet , hogy a vezérlők könnyen elférjenek.
Kattintson a jobb gombbal a Címke1 elemre, majd kattintson a Tulajdonságok parancsra.
Módosítsa a Text tulajdonságot a Label1 tulajdonságról az OrderID:.
A Label2 esetében is módosítsa a Text tulajdonságot a Label2-ről az Enter CustomerID:-ra.
Hasonlóképpen módosítsa a Button1 Szöveg tulajdonságát Rendelés részleteire.
Módosítsa a Button2 Text tulajdonságát rendelési előzményekre.
Szélesítsd ki a gombvezérlőket, hogy az összes szöveg látható legyen.
Gombkattintások kezelése
Az eseménykezelő létrehozásához és a kódszerkesztő megnyitásához kattintson duplán a Rendelés részletei elemre az
Button1
1. űrlapon.Írja be a következő kódot a
Button1
kezelőbe:' Declare a variable to hold the contents of ' TextBox1 as an argument for the stored ' procedure. Dim parm As String = TextBox1.Text ' Declare a variable to hold the results returned ' by the stored procedure. Dim custQuery = db.CustOrdersDetail(parm) ' Clear the message box of previous results. Dim msg As String = "" Dim response As MsgBoxResult ' Execute the stored procedure and store the results. For Each custOrdersDetail As CustOrdersDetailResult In custQuery msg &= custOrdersDetail.ProductName & vbCrLf Next ' Display the results. If msg = "" Then msg = "No results." End If response = MsgBox(msg) ' Clear the variables before continuing. parm = "" TextBox1.Text = ""
Most kattintson duplán a Button2 gombra az 1. űrlapon az
Button2
eseménykezelő létrehozásához és a kódszerkesztő megnyitásához.Írja be a következő kódot a
Button2
kezelőbe:' Comments in the code for Button2 are the same ' as for Button1. Dim parm As String = TextBox2.Text Dim custQuery2 = db.CustOrderHist(parm) Dim msg As String = "" Dim response As MsgBoxResult For Each custOrdHist As CustOrderHistResult In custQuery2 msg &= custOrdHist.ProductName & vbCrLf Next If msg = "" Then msg = "No results." End If response = MsgBox(msg) parm = "" TextBox2.Text = ""
Az alkalmazás tesztelése
Most itt az ideje, hogy tesztelje az alkalmazást. Vegye figyelembe, hogy az adattárral való kapcsolatfelvétel a két tárolt eljárás által végezhető műveletekre korlátozódik. Ezeknek a műveleteknek az a célja, hogy visszaadja a megadott rendelésazonosítóhoz tartozó termékeket, vagy az Ön által megadott ügyfélazonosítóhoz rendelt termékek előzményeit.
Az alkalmazás tesztelése
Nyomja le az F5 billentyűt a hibakeresés megkezdéséhez.
Megjelenik az 1. űrlap.
Az Enter OrderID mezőbe írja be az 10249 értéket, majd kattintson a Rendelés részletei gombra.
Egy üzenetmező felsorolja az 10249-ben szereplő termékeket.
Kattintson az OK gombra az üzenetmező bezárásához.
Írja be az Enter CustomerID (Ügyfélazonosító) mezőbe,
ALFKI
majd kattintson a Rendelési előzmények gombra.Egy üzenetmező felsorolja az ügyfél ALFKI rendelési előzményeit.
Kattintson az OK gombra az üzenetmező bezárásához.
Írja be az Enter OrderID mezőbe,
123
majd kattintson a Rendelés részletei gombra.Az üzenetmezőben megjelenik a "Nincs eredmény".
Kattintson az OK gombra az üzenetmező bezárásához.
A Hibakeresés menüben kattintson a Hibakeresés leállítása gombra.
A hibakeresési munkamenet bezárul.
Ha befejezte a kísérletezést, kattintson a Fájl menü Projekt bezárása gombjára, és mentse a projektet, amikor a rendszer kéri.
Következő lépések
Ezt a projektet néhány módosítással javíthatja. Listázhatja például az elérhető tárolt eljárásokat egy listamezőben, és a felhasználó kiválaszthatja, hogy mely eljárásokat kell végrehajtania. A jelentések kimenetét egy szövegfájlba is streamelheti.