SHARE
TWEET

Untitled

a guest Jun 19th, 2017 47 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Ekzekutimin e një Procedura ruajtur
  2.  
  3. 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.TO dy hapa janë paraqitur më poshtë:
  4.  
  5. / / 1. të krijojë një komandë objekt të identifikuar
  6. / / Ruajtur procedura
  7. SqlCommand cmd SqlCommand = NEW (
  8. "Dhjetë më të shtrenjtë Produkte", conn);
  9.  
  10. / / 2. vendosur objektin komandën kështu që e di
  11. / / Për të ekzekutuar një procedurë të depozituara
  12. cmd.CommandType = CommandType.StoredProcedure;
  13. 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.
  14.  
  15. 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.
  16.  
  17. Dërgimi Parametrat për Procedurat e ruajtur
  18.  
  19. 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ë:
  20.  
  21. / / 1. të krijojë një komandë objekt të identifikuar
  22. / / Ruajtur procedura
  23. SqlCommand cmd SqlCommand = NEW (
  24. "CustOrderHist", conn);
  25.  
  26. / / 2. vendosur objektin komandën kështu që e di
  27. / / Për të ekzekutuar një procedurë të depozituara
  28. cmd.CommandType = CommandType.StoredProcedure;
  29.  
  30. / / 3. ADD parametër të komandës, të cilat
  31. / / Do të kalojë në procedurë të ruajtura
  32. cmd.Parameters.ADD (
  33. ri SqlParameter ("@ CustomerID", custId));
  34. 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.
  35.  
  36. Një shembull i plotë
  37.  
  38. 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.
  39.  
  40. Listing 1: Ekzekutive Procedurat ruajtur
  41.  
  42. përdorimin e sistemit;
  43. duke përdorur System.DATA;
  44. duke përdorur System.DATA.SqlClient;
  45.  
  46. StoredProcDemo klasë
  47. (
  48. Kryesore statike pavlefshëm ()
  49. (
  50. StoredProcDemo SPD StoredProcDemo = NEW ();
  51.  
  52. / / Drejtuar një procedurë e thjeshtë ruajtur
  53. spd.RunStoredProc ();
  54.  
  55. / / Drejtuar një procedurë të ruajtura që merr një parametër të
  56. spd.RunStoredProcParams ();
  57. )
  58.  
  59. / / Drejtuar një procedurë e thjeshtë ruajtur
  60. RunStoredProc publike pavlefshëm ()
  61. (
  62. conn SqlConnection = NULL;
  63. rdr SqlDataReader = NULL;
  64.  
  65. Console.WriteLine ("\ nTop 10 më të shtrenjtë Produkte: \ n");
  66.  
  67. përpjekje
  68. (
  69. / / Krijojë dhe të hapur një objekt lidhje
  70. conn = reja
  71. SqlConnection ("Server = (lokale), DataBase = Northwind; Integruar të Sigurimit = SSPI");
  72. conn.OPEN ();
  73.  
  74. / / 1. të krijojë një komandë objekt të identifikuar
  75. / / Ruajtur procedura
  76. SqlCommand cmd SqlCommand = NEW (
  77. "Dhjetë më të shtrenjtë Produkte", conn);
  78.  
  79. / / 2. vendosur objektin komandën kështu që e di
  80. / / Për të ekzekutuar një procedurë të depozituara
  81. cmd.CommandType = CommandType.StoredProcedure;
  82.  
  83. / / Ekzekutojë komandën
  84. = Rdr cmd.ExecuteReader ();
  85.  
  86. / / Iterate nëpërmjet rezultateve, shtypjen e çdo të tastierë
  87. ndërsa (rdr.READ ())
  88. (
  89. Console.WriteLine (
  90. "Produkti: (0, -25) Çmimi: $ (1,6) :####. 00",
  91. rdr ["TenMostExpensiveProducts"],
  92. rdr ["UnitPrice"]);
  93. )
  94. )
  95. më në fund
  96. (
  97. në qoftë se (lidhje! = NULL)
  98. (
  99. conn.Close ();
  100. )
  101. në qoftë se (rdr! = NULL)
  102. (
  103. rdr.Close ();
  104. )
  105. )
  106. )
  107.  
  108. / / Drejtuar një procedurë të ruajtura që merr një parametër të
  109. RunStoredProcParams publike pavlefshëm ()
  110. (
  111. conn SqlConnection = NULL;
  112. rdr SqlDataReader = NULL;
  113.  
  114. / / Marrë në mënyrë tipike nga përdorues
  115. / / INPUT, por kemi marrë një prerje të shkurtër
  116. custId string = "FURIB";
  117.  
  118. Console.WriteLine ("\ Rendit nCustomer Historia: \ n");
  119.  
  120. përpjekje
  121. (
  122. / / Krijojë dhe të hapur një objekt lidhje
  123. conn = reja
  124. SqlConnection ("Server = (lokale), DataBase = Northwind; Integruar të Sigurimit = SSPI");
  125. conn.OPEN ();
  126.  
  127. / / 1. të krijojë një komandë objekt të identifikuar
  128. / / Ruajtur procedura
  129. SqlCommand cmd SqlCommand = NEW (
  130. "CustOrderHist", conn);
  131.  
  132. / / 2. vendosur objektin komandën kështu që e di
  133. / / Për të ekzekutuar një procedurë të depozituara
  134. cmd.CommandType = CommandType.StoredProcedure;
  135.  
  136. / / 3. ADD parametër të komandës, të cilat
  137. / / Do të kalojë në procedurë të ruajtura
  138. cmd.Parameters.ADD (
  139. ri SqlParameter ("@ CustomerID", custId));
  140.  
  141. / / Ekzekutojë komandën
  142. = Rdr cmd.ExecuteReader ();
  143.  
  144. / / Iterate nëpërmjet rezultateve, shtypjen e çdo të tastierë
  145. ndërsa (rdr.READ ())
  146. (
  147. Console.WriteLine (
  148. "Produkti: (0, -35) Gjithsej: (1,2)",
  149. rdr ["PRODUCTNAME"],
  150. rdr ["Total"]);
  151. )
  152. )
  153. më në fund
  154. (
  155. në qoftë se (lidhje! = NULL)
  156. (
  157. conn.Close ();
  158. )
  159. në qoftë se (rdr! = NULL)
  160. (
  161. rdr.Close ();
  162. )
  163. )
  164. )
  165. )
  166. 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.
RAW Paste Data
Top