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


Paraméteres TableAdapter-lekérdezések létrehozása .NET-keretrendszer-alkalmazásokban

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.

A paraméteres lekérdezés olyan adatokat ad vissza, amelyek megfelelnek a lekérdezésen WHERE belüli záradék feltételeinek. Például paraméterezhet egy ügyféllistát, hogy csak egy adott városban lévő ügyfelek jelenjenek meg, ha hozzáadja WHERE City = @City az ügyfelek listáját visszaadó SQL-utasítás végéhez.

Paraméteres TableAdapter-lekérdezéseket hozhat létre az Adatkészlet-tervezőben. Windows-alkalmazásban is létrehozhatja őket az Adatok menü Paraméterezés adatforrása parancsával. Az Adatforrás paraméterezése parancs vezérlőket hoz létre az űrlapon, ahol megadhatja a paraméterértékeket, és futtathatja a lekérdezést.

Megjegyzés:

Paraméteres lekérdezés létrehozásakor használja az adatbázisra vonatkozó paraméterjegyzetet. Az Access és az OleDb adatforrásai például a "?" kérdőjelet használják a paraméterek jelölésére, így a záradék így WHERE nézne ki: WHERE City = ?.

Paraméteres TableAdapter-lekérdezés létrehozása

Paraméteres lekérdezés létrehozása az Adathalmaz-tervezőben

  • Hozzon létre egy új TableAdaptert, és adjon hozzá egy WHERE záradékot a kívánt paraméterekkel az SQL-utasításhoz. További információ: TableAdapters létrehozása és konfigurálása.

    vagy

  • Adjon hozzá egy lekérdezést egy meglévő TableAdapterhez, és adjon hozzá egy WHERE záradékot a kívánt paraméterekkel az SQL-utasításhoz.

Paraméteres lekérdezés létrehozása adathoz kötött űrlap tervezésekor

  1. Jelöljön ki egy olyan vezérlőt az űrlapon, amely már egy adatkészlethez van kötve. További információ: Windows Forms-vezérlők kötése adatokhoz a Visual Studióban.

  2. Az Adatok menüben válassza a Lekérdezés hozzáadása lehetőséget.

  3. Töltse ki a Keresési feltételek szerkesztője párbeszédpanelt, és adjon hozzá egy WHERE záradékot a kívánt paraméterekkel az SQL-utasításhoz.

Lekérdezés hozzáadása meglévő adathoz kötött űrlaphoz

  1. Nyissa meg az űrlapot a Windows Forms Designer.

  2. Az Adatok menüben válassza a Lekérdezés vagyadat intelligens címkék hozzáadása lehetőséget.

    Megjegyzés:

    Ha a Lekérdezés hozzáadása nem érhető el az Adatok menüben, válasszon egy vezérlőt az űrlapon, amely megjeleníti azt az adatforrást, amelyhez a paraméterezést hozzá szeretné adni. Ha például az űrlap adatokat jelenít meg egy DataGridView vezérlőben, jelölje ki. Ha az űrlap egyes vezérlőkben jeleníti meg az adatokat, válasszon egy adathoz kötött vezérlőt.

  3. Az Adatforrás kiválasztása tábla kiválasztása területen jelölje ki azt a táblát, amelyhez paraméterezést szeretne hozzáadni.

  4. Ha új lekérdezést hoz létre, írjon be egy nevet az Új lekérdezés neve mezőbe.

    vagy

    Válasszon ki egy lekérdezést a Meglévő lekérdezés neve mezőben.

  5. A Lekérdezés szövegmezőbe írjon be egy paramétereket használó lekérdezést.

  6. Kattintson az OK gombra.

    A paraméter bevitelére szolgáló vezérlő és a Betöltés gomb hozzáadódik az űrlaphoz egy ToolStrip vezérlőben.

Null értékek lekérdezése

A TableAdapter-paraméterek null értékeket rendelhetnek hozzá, ha olyan rekordokat szeretne lekérdezni, amelyek nem rendelkeznek aktuális értékkel. Vegyük például az alábbi lekérdezést, amelynek ShippedDate paramétere szerepel a WHERE záradékában:

SELECT CustomerID, OrderDate, ShippedDate
FROM Orders
WHERE (ShippedDate = @ShippedDate) OR (ShippedDate IS NULL)

Ha ez egy TableAdapter-lekérdezés, lekérdezheti az összes olyan rendelést, amely nem lett kézbesítve a következő kóddal:

ordersTableAdapter.FillByShippedDate(northwindDataSet.Orders, null);

Ha engedélyezni szeretné, hogy egy lekérdezés null értékeket fogadjon el:

  1. Az Adatkészlet-tervezőben válassza ki azt a TableAdapter-lekérdezést, amely null paraméterértékeket kell elfogadnia.

  2. A Tulajdonságok ablakban válassza a Paraméterek lehetőséget, majd a három pontra (...) kattintva nyissa meg a Paramétergyűjtemény-szerkesztőt.

  3. Válassza ki a null értékeket engedélyező paramétert, és állítsa az AllowDbNull tulajdonságot a következőre true: .