Megosztás a következőn keresztül:


Ú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

  1. A Visual Studio Fájl menüjében kattintson az Új projekt gombra.

  2. Az Új projekt párbeszédpanel Projekttípusok paneljén bontsa ki a Visual Basic elemet, majd kattintson a Windows gombra.

  3. A Sablonok panelen kattintson a Windows Forms-alkalmazás elemre.

  4. A Név mezőbe írja be a SprocOnlyApp kifejezést.

  5. 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

  1. A Megoldáskezelő kattintson az Összes fájl megjelenítése elemre.

  2. A Megoldáskezelő kattintson a jobb gombbal a Hivatkozások elemre, majd kattintson a Hivatkozás hozzáadása parancsra.

  3. 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

  1. A Projekt menüben kattintson a Meglévő elem hozzáadása elemre.

  2. 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

  1. A Megoldáskezelő kattintson a jobb gombbal a Form1.vb, majd a Kód megtekintése parancsra.

    Class Form1 megjelenik a kódszerkesztőben.

  2. Í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

  1. Térjen vissza a Windows Forms Tervező (Form1.vb[Tervezés]).

  2. 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.

  3. 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.

  4. Kattintson a jobb gombbal a Címke1 elemre, majd kattintson a Tulajdonságok parancsra.

  5. Módosítsa a Text tulajdonságot a Label1 tulajdonságról az OrderID:.

  6. A Label2 esetében is módosítsa a Text tulajdonságot a Label2-rőlaz Enter CustomerID:-ra.

  7. Hasonlóképpen módosítsa a Button1 Szöveg tulajdonságát Rendelés részleteire.

  8. 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

  1. 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.

  2. Í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 = ""
    
  3. 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.

  4. Í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

  1. Nyomja le az F5 billentyűt a hibakeresés megkezdéséhez.

    Megjelenik az 1. űrlap.

  2. 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.

  3. Írja be az Enter CustomerID (Ügyfélazonosító) mezőbe, ALFKImajd 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.

  4. Írja be az Enter OrderID mezőbe, 123majd 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.

  5. A Hibakeresés menüben kattintson a Hibakeresés leállítása gombra.

    A hibakeresési munkamenet bezárul.

  6. 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.

Lásd még