Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Ekzekutimin e një Procedura ruajtur
- Përveç komandat ndërtuar me vargjet, llojin SqlCommand mund të përdoret për të ekzekutuar procedurat e ruajtura. Ka dy detyra të kërkojë për të bërë këtë të ndodhë: le të objektit SqlCommand di që ruajtur procedura për të ekzekutuar dhe të them të objektit SqlCommand se ajo është ekzekutuar një procedurë të ruajtura. KëTO dy hapa janë paraqitur më poshtë:
- / / 1. të krijojë një komandë objekt të identifikuar
- / / Ruajtur procedura
- SqlCommand cmd SqlCommand = NEW (
- "Dhjetë më të shtrenjtë Produkte", conn);
- / / 2. vendosur objektin komandën kështu që e di
- / / Për të ekzekutuar një procedurë të depozituara
- cmd.CommandType = CommandType.StoredProcedure;
- Duke deklaruar objekt SqlCommand më lart, parametri i parë është vendosur të "Dhjetë Produktet më të shtrenjtë". Ky është emri i një PROCEDURE të ruhet në bazën e të dhënave Northwind. Parametri i dytë është objekt lidhje, e cila është e njëjtë si konstruktor SqlCommand përdorur për ekzekutimin strings pyetje.
- Komandën e dytë tregon objektin SqlCommand çfarë lloji të komandës ajo do të ekzekutojë me vendosjen e pronës së saj CommandType me vlerën StoredProcedure e enum CommandType. Interpretimi i DEFAULT i parametri i parë për konstruktor SqlCommand është për të trajtuar atë si një varg pyetje. Duke i CommandType të StoredProcedure, parametri i parë për konstruktor SqlCommand do të interpretohet si emri i një PROCEDURE të ruajtur (në vend të interpretuar atë si një varg komandë). Pjesa tjetër e kodit mund të përdorni të SqlCommand objekt njëjtë me atë që është përdorur në mësimet e mëparshme.
- Dërgimi Parametrat për Procedurat e ruajtur
- Duke përdorur parametrat për procedurat e ruajtur është e njëjtë si duke përdorur parametrat për komandat varg pyetje. Kodin e mëposhtëm tregon këtë:
- / / 1. të krijojë një komandë objekt të identifikuar
- / / Ruajtur procedura
- SqlCommand cmd SqlCommand = NEW (
- "CustOrderHist", conn);
- / / 2. vendosur objektin komandën kështu që e di
- / / Për të ekzekutuar një procedurë të depozituara
- cmd.CommandType = CommandType.StoredProcedure;
- / / 3. ADD parametër të komandës, të cilat
- / / Do të kalojë në procedurë të ruajtura
- cmd.Parameters.ADD (
- ri SqlParameter ("@ CustomerID", custId));
- Konstruktor SqlCommand mësipërme përcakton emrin e një PROCEDURE të ruajtur, CustOrderHist, si parametër të tij të parë. Kjo procedurë të veçantë ruhet merr një parametër të vetëm, me emrin @ CustomerID. Prandaj, ne duhet të popullojnë këtë parametër duke përdorur një objekt SqlParameter. Emri i parametër kaloi si parametër i parë për konstruktor SqlParameter duhet të jenë të përcaktuara saktësisht i njëjtë me parametër procedurë të ruajtura. Pastaj ekzekutojë komandën e njëjtë si ju do me ndonjë objekt SqlCommand tjera.
- Një shembull i plotë
- Kodin në Listing 1 përmban një shembull të plotë të punës e si të përdorin procedurat e ruajtura. Ka metoda të veçanta për një procedurë të ruajtura pa parametrat dhe një procedurë të depozituara me parametra.
- Listing 1: Ekzekutive Procedurat ruajtur
- përdorimin e sistemit;
- duke përdorur System.DATA;
- duke përdorur System.DATA.SqlClient;
- StoredProcDemo klasë
- (
- Kryesore statike pavlefshëm ()
- (
- StoredProcDemo SPD StoredProcDemo = NEW ();
- / / Drejtuar një procedurë e thjeshtë ruajtur
- spd.RunStoredProc ();
- / / Drejtuar një procedurë të ruajtura që merr një parametër të
- spd.RunStoredProcParams ();
- )
- / / Drejtuar një procedurë e thjeshtë ruajtur
- RunStoredProc publike pavlefshëm ()
- (
- conn SqlConnection = NULL;
- rdr SqlDataReader = NULL;
- Console.WriteLine ("\ nTop 10 më të shtrenjtë Produkte: \ n");
- përpjekje
- (
- / / Krijojë dhe të hapur një objekt lidhje
- conn = reja
- SqlConnection ("Server = (lokale), DataBase = Northwind; Integruar të Sigurimit = SSPI");
- conn.OPEN ();
- / / 1. të krijojë një komandë objekt të identifikuar
- / / Ruajtur procedura
- SqlCommand cmd SqlCommand = NEW (
- "Dhjetë më të shtrenjtë Produkte", conn);
- / / 2. vendosur objektin komandën kështu që e di
- / / Për të ekzekutuar një procedurë të depozituara
- cmd.CommandType = CommandType.StoredProcedure;
- / / Ekzekutojë komandën
- = Rdr cmd.ExecuteReader ();
- / / Iterate nëpërmjet rezultateve, shtypjen e çdo të tastierë
- ndërsa (rdr.READ ())
- (
- Console.WriteLine (
- "Produkti: (0, -25) Çmimi: $ (1,6) :####. 00",
- rdr ["TenMostExpensiveProducts"],
- rdr ["UnitPrice"]);
- )
- )
- më në fund
- (
- në qoftë se (lidhje! = NULL)
- (
- conn.Close ();
- )
- në qoftë se (rdr! = NULL)
- (
- rdr.Close ();
- )
- )
- )
- / / Drejtuar një procedurë të ruajtura që merr një parametër të
- RunStoredProcParams publike pavlefshëm ()
- (
- conn SqlConnection = NULL;
- rdr SqlDataReader = NULL;
- / / Marrë në mënyrë tipike nga përdorues
- / / INPUT, por kemi marrë një prerje të shkurtër
- custId string = "FURIB";
- Console.WriteLine ("\ Rendit nCustomer Historia: \ n");
- përpjekje
- (
- / / Krijojë dhe të hapur një objekt lidhje
- conn = reja
- SqlConnection ("Server = (lokale), DataBase = Northwind; Integruar të Sigurimit = SSPI");
- conn.OPEN ();
- / / 1. të krijojë një komandë objekt të identifikuar
- / / Ruajtur procedura
- SqlCommand cmd SqlCommand = NEW (
- "CustOrderHist", conn);
- / / 2. vendosur objektin komandën kështu që e di
- / / Për të ekzekutuar një procedurë të depozituara
- cmd.CommandType = CommandType.StoredProcedure;
- / / 3. ADD parametër të komandës, të cilat
- / / Do të kalojë në procedurë të ruajtura
- cmd.Parameters.ADD (
- ri SqlParameter ("@ CustomerID", custId));
- / / Ekzekutojë komandën
- = Rdr cmd.ExecuteReader ();
- / / Iterate nëpërmjet rezultateve, shtypjen e çdo të tastierë
- ndërsa (rdr.READ ())
- (
- Console.WriteLine (
- "Produkti: (0, -35) Gjithsej: (1,2)",
- rdr ["PRODUCTNAME"],
- rdr ["Total"]);
- )
- )
- më në fund
- (
- në qoftë se (lidhje! = NULL)
- (
- conn.Close ();
- )
- në qoftë se (rdr! = NULL)
- (
- rdr.Close ();
- )
- )
- )
- )
- Metoda e RunStoredProc në Listing 1 thjesht shkon një procedurë të ruajtur dhe printime rezultatet në tastierë. Në metodën e RunStoredProcParams, procedura e ruajtur përdorur merr një parametër të vetëm. Kjo tregon se nuk ka dallim në mes duke përdorur parametrat me vargjet pyetje dhe procedurat e ruajtura. Pjesa tjetër e kodit duhet të jenë të njohura për ata që kanë lexuar mësimet e mëparshme në këtë tutorial.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement