sql procedure csharp

Upload: vothanhthientoan

Post on 01-Mar-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 SQL Procedure Csharp

    1/13

    Kt ni ti c s d liu

    Mc ch: Gip sinh vin ci t n dn t!n n"n n l#p t!$nh %& 't ni ti d

    liu t!n ()* (+!v+!,

    -u c.u: (inh vin 't ni /0c ti c s d liu1 th23 t4c t!n 53!6 th61 s721 8921 t$6'i61 thn ' 43 c43,,

    I. L thuyt:

    PHN 1. KT NI C S D LIU TRONG C

    ;nh chu?i 't ni v c@u lnh ()* c.n thAc hin

    c3nn(t! B CDE2t2 (3u!c+BFHEFI*K;J%()*LJNL((Oniti2l

    %2t2l3Bd2t2!idvi+Pd+63OQs+! EBs2Op2ssP3!dB=RSTUVDO

    WW chu?i 't ni n %(E*

    c3nn(t!BCXE2t2 (3u!c+BYl3c2lZOniti2l %2t2l3B[\Q%\IH\Ont+!2t+d

    (+cu!it]B[!u+X

    (t!in s^l B _s+l+ct ` 5!36 [2l+DWW c@u lnh s+l+ct c.n thAc hin

    !"#$% &: t'( )*+ t#,- %(--/%t+(- 0t -*+ +2 3- 45- 67 CSDL

    (^l%3nn+cti3n c3nn B n+P (^l%3nn+cti3nYZO WW 'hi ta3 6bt i t/0n 't ni

    %3nn,%3nn+cti3n(t!in B c3nn(t!OWW l] /n den n c s d liu

    %3nn,fp+nYZO WW 6 't ni

    !"#$% 8 : t'( )*+ t#,- S9;42u -*+ +2 42t2?/t 67 42t2?(u=%/ )@thA% h+B- %- 6+B% -h# )% h2y %E< -hEt 4 +Bu

    (^lE2t2Id2pt+! d2 B n+P (^lE2t2Id2pt+!Ys^l1c3nnZ O

    "#$% F :4 +Bu )% =2 t %u B-h ?//%t )#,% #u 67( 1 42t2t2/ t=(-

    42t2?/t

    E2t2[2l+ dt B n+P E2t2[2l+YZ OWW 'hi ta3 i t/0n d2t2t2l+

    d2,gillYdtZ O WW 5ill d 2liu v3 d2t2t2l+

  • 7/26/2019 SQL Procedure Csharp

    2/13

    "#$% J: -u 4 +Bu )#,% h+@- th =2 42t2=+46+/. [2 c.n = E2t2i+P 't ni

    n E2t2[2l+, i t/0n E2t2i+P djn ch3 vic skp 8p1lc1 t$6 'i6m

    E2t2i+P dv B n+P E2t2i+PYdtZO

    "#$% M: h+@- th 4 +Bu - 42t2=+46+/

    E!,E2t2(3u!c+ B dvOWW 4n d2t2s3u!c+ ch3 d2t2!idvi+P

    E!,Iut3N+si+%3lu6sYZOWW con chnh lai chiqu !bn c4c cbt cr2 d2t2!idvi+P

    "#$% : Q- 0t -*+

    c3nn,cl3s+YZO

    PHN &. S DNG STORD PROCDUR TRONG C

    Th+t E< )*+ t#,- S9C(2-4 )@ ?V 45- Wt ?t(=/4

  • 7/26/2019 SQL Procedure Csharp

    3/13

    st3!+d p!3c+du!+ n3 sw /0c thAc thi v thit l#p ch b thAc thi st3!+d

    p!3c+du!+ ch3 (^l%3662nd, \2i /c n] /0c 6inh h2 t!3n 3an 6 s2u:

    WW =, c!+2t+ 2 c3662nd 3x+ct id+nti5]in th+ st3!+d p!3c+du!+

    (^l%3662nd c6d B n+P (^l%3662ndYX (t3!+d J!3c+du!+ H26+X1 c3nnZO

    WW R, s+t th+ c3662nd 3x+ct s3 it 'n3Ps t3 +8+cut+ 2 st3!+d p!3c+du!+

    c6d,%3662nd[]p+ B %3662nd[]p+,(t3!+dJ!3c+du!+O

    Khi 'h2i 43 i t/0n (^l%3662nd t!n1 th26 s .u tin /0c 4n l _(t3!+d

    J!3c+du!+ H26+D, @] l tn cr2 st3!+d p!3c+du!+ t!3n d2t22s+ ()* (+!v+!,

    [h26 s th h2i l i t/0n c3nn+cti3n1 t/n tA nh/ c3nst!uct3! cr2

    (^l%3662nd djn thAc thi 6bt c@u t!u] vn,

    Eyn lnh th h2i ch ch3 i t/0n (^l%3662nd 'iu cr2 lnh sw /0c thAc thi

    zn c4ch 4n p!3p+!t]CommandType thnh i4 t!> StoredProcedurecr2

    %3662nd[]p+,

  • 7/26/2019 SQL Procedure Csharp

    4/13

    M lnh t!3n *istin ch2 6bt v d h3n chnh 6inh h2 c4ch djn st3!+d

    p!3c+du!+, %9 c4c ph/n thc /0c t4ch !in ch3 6bt st3!+d p!3c+du!+ 'h"n

    th26 s v ch3 st3!+d p!3c+du!+ c9 th26 s,

    *istin =: L8+cutin (t3!+d J!3c+du!+s

    usin (]st+6O

    usin (]st+6,E2t2O

    usin (]st+6,E2t2,(^l%li+ntO

    cl2ss (t3!+dJ!3cE+63

    |

    st2tic v3id M2inYZ |

    (t3!+dJ!3cE+63 spd B n+P (t3!+dJ!3cE+63YZO

    WW !un 2 si6pl+ st3!+d p!3c+du!+

    spd,Nun(t3!+dJ!3cYZO

    WW !un 2 st3!+d p!3c+du!+ th2t t2'+s 2 p2!26+t+! spd,Nun(t3!+dJ!3cJ2!26sYZO

    }

    WW !un 2 si6pl+ st3!+d p!3c+du!+

    pulic v3id Nun(t3!+dJ!3cYZ

    |

    (^l%3nn+cti3n c3nn B nullO

    (^lE2t2N+2d+! !d! B nullO

    %3ns3l+,F!it+*in+YXn[3p =~ M3st L8p+nsiv+ J!3ducts:nXZO

    t!]

    |

    WW c!+2t+ 2nd 3p+n 2 c3nn+cti3n 3x+ct

    c3nn B n+P

    (^l%3nn+cti3nYX(+!v+!BYl3c2lZOE2t2

  • 7/26/2019 SQL Procedure Csharp

    5/13

    WW =, c!+2t+ 2 c3662nd 3x+ct id+nti5]in th+ st3!+d p!3c+du!+

    (^l%3662nd c6d B n+P (^l%3662ndYX[+n M3st L8p+nsiv+

    J!3ductsX1 c3nnZO

    WW R, s+t th+ c3662nd 3x+ct s3 it 'n3Ps t3 +8+cut+ 2 st3!+d p!3c+du!+

    c6d,%3662nd[]p+ B %3662nd[]p+,(t3!+dJ!3c+du!+OWW +8+cut+ th+ c3662nd

    !d! B c6d,L8+cut+N+2d+!YZO

    WW it+!2t+ th!3uh !+sults1 p!intin +2ch t3 c3ns3l+

    Phil+ Y!d!,N+2dYZZ

    |

    %3ns3l+,F!it+*in+Y

    XJ!3duct: |~1;RU} J!ic+: |=1V:&&&&,~~}X1 !d!X[+nM3stL8p+nsiv+J!3ductsX1

    !d!XQnitJ!ic+XZO

    }

    }

    5in2ll]

    |

    i5 Yc3nn B nullZ |

    c3nn,%l3s+YZO

    }

    i5 Y!d! B nullZ

    |

    !d!,%l3s+YZO

    } }

    }

    WW !un 2 st3!+d p!3c+du!+ th2t t2'+s 2 p2!26+t+!

    pulic v3id Nun(t3!+dJ!3cJ2!26sYZ

    |

    (^l%3nn+cti3n c3nn B nullO

    (^lE2t2N+2d+! !d! B nullO

  • 7/26/2019 SQL Procedure Csharp

    6/13

    WW t]pic2ll] 3t2in+d 5!36 us+!

    WW input1 ut P+ t2'+ 2 sh3!t cut

    st!in custd B XgQN

  • 7/26/2019 SQL Procedure Csharp

    7/13

    XJ!3duct: |~1;SU} [3t2l: |=1R}X1

    !d!XJ!3ductH26+X1

    !d!X[3t2lXZO

    }

    } 5in2ll]

    |

    i5 Yc3nn B nullZ

    |

    c3nn,%l3s+YZO

    }

    i5 Y!d! B nullZ |

    !d!,%l3s+YZO

    }

    }

    }

    }

    Jh/n thc Nun(t3!+dJ!3cYZ t!3n *istin = n in l cha] 6bt st3!+d

    p!3c+du!+ v in 't ^u !2 c3ns3l+, [!3n ph/n thc Nun(t3!+dJ!3cJ2!26sYZ1

    st3!+d p!3c+du!+ nh#n 6bt th26 s, iqu n] ch3 th] 'h"n c9 sA 'h4c it

    i2 vic djn th26 s vi chu?i t!u] vn v st3!+d p!3c+du!+

    T_- 0t

    thAc thi st3!+d p!3c+du!+1 t2 c.n ch !2 tn cr2 st3!+d p!3c+du!+ t!3n th26 s.u tin cr2 6bt (^l%3662nd c3nst!uct3! v s2u 9 4n

    p!3p+!t] CommandType cr2 (^l%3662nd thnh StoredProcedured, [2 cn c9

    th t!u]qn c4c th26 s ch3 6bt st3!+d p!3c+du!+ zn c4ch djn i t/0n

    (^lJ2!26+t+!1 t/n tA nh/ c4ch l6 vi i t/0n (^l%3662nd djn thAc

    thi 6bt c@u t!u] vn,

    J\H S, E MH\ \I

    i6 thiu vic vit lnh [;()* t!3n 6 c3d+ %&1 n/i t2 c9 th ta3 !2 c4c thr tc t!3n\ ^un t!> %(E*, i c4ch n] t2 c9 th d dn 3 t!$ c4c 6 [;()* v %3d+ %& t! ln

  • 7/26/2019 SQL Procedure Csharp

    8/13

    nkn n hn, c it l 'hi t2 phi thAc thi = thr tc c9 th ln n hn t!2n i] h2] vit!2n i] th$ thAc thi 6bt thr tc sw l ii ph4p hu hiu t!3n l#p t!$nh vi IEf,HL[,

    Gi s71 t2 s7 dn %(E* ()* (+!v+! c9 tn HR\1 c9 = n n in l: D/

  • 7/26/2019 SQL Procedure Csharp

    9/13

    %NLI[L JNf% d3,(JQpd2t+E+p2!t6+nt

    Y

    CE int1

    CH26+ nv2!ch2!YRU~Z1

    CE+sc!ipti3n nv2!ch2!YRU~Z

    Z

    I(

    QJEI[L E+p2!t6+nts

    (L[ E+p2!t6+ntH26+ B CH26+1

    E+sc!ipti3n B CE+sc!ipti3n

    F\LNL E+p2!t6+ntEB CEO

    "#$% 8:

  • 7/26/2019 SQL Procedure Csharp

    10/13

    djn1 @] l t!/n tA bn ton nn n/i djn 'h"n c.n nh#p1 'h"n c.n ^u2n t@61 nh/nlai l t!/n 6 n/i l#p t!$nh c.n thit ' thu#n tin t!3n th23 t4c c#p nh#t,

    (2u 9 { sun v3 i23 din R " [+8t

  • 7/26/2019 SQL Procedure Csharp

    11/13

    *32dE2t2YZO

    }

    Khi vit 83n 3an lnh t!n1 cha] ch/n t!$nh th$ 't ^u c9 th hin th> nh/n cbt ([[ven t!n v$ 'h"n c9 !n ubc vi t!/n n],

  • 7/26/2019 SQL Procedure Csharp

    12/13

    WW Kh2i 43 v 'hi ta3 i t/0n %3662nd1 t!u]qn v3 tn thr tc t/n n (^l%3662nd c6d B n+P (^l%3662ndYX(Jns+!tE+p2!t6+ntX1c3nnZO WW Kh2i 43 'iu thAc thi l [hAc thi thr tc c6d,%3662nd[]p+ B %3662nd[]p+,(t3!+dJ!3c+du!+O WW Kh2i 43 v 4n i4 t!> ch3 c4c th26 s .u v3 cr2 thr tc WW Kh2i 43 th26 s th nht CH26+ ; l tn th26 s /0c ta3 t!3n thr tc

    (^lJ2!26+t+! p B n+P (^lJ2!26+t+!YXCH26+X1 t8tH26+,[+8tZO c6d,J2!26+t+!s,IddYpZO WW Khi ta3 th26 s th R t!3n thr tc l CE+sc!ipti3n p B n+P (^lJ2!26+t+!YXCE+sc!ipti3nX1t8tE+sc!ipti3n,[+8tZO c6d,J2!26+t+!s,IddYpZO WW [hAc thi thr tc int c3unt B c6d,L8+cut+H3n)u+!]YZO i5 Yc3unt ~Z | M+ss2+

  • 7/26/2019 SQL Procedure Csharp

    13/13

    cmd%Command&'pe = Command&'pe%Stored"rocedre$

    intid = (int)dgv#eparts%Crrento%Cells*!cl+#!%-ale$

    Sql"arameter p = neSql"arameter(!.+#!, id)$

    cmd%"arameters%Add(p)$

    intcont = cmd%E0ecte/on1er'()$

    i2(cont 3 4)

    { 5essage6o0%S7o(!Ja t79n7 c:ng;!)$ 7:ng t7K 0a bn g7i 7iLn t7Mi;!)$

    for (int i = 0; i < dt.Rows.Count; i++)dt.Rows[i]["STT"] = i + 1;

    dataGridView1.ataSour!e = dt;dataGridView1.Cou#ns["STT"].is$a%&nde' = 0;