From 81d3f96c2d149416efab75f2986a57119de6e056 Mon Sep 17 00:00:00 2001 From: lewibt01 Date: Thu, 12 Jan 2017 10:55:21 -0500 Subject: [PATCH 1/3] Addeed Database API Class Created a class to hold the mySQL api --- .vs/ChessManagement/v14/.suo | Bin 37376 -> 38912 bytes .vs/config/applicationhost.config | 2 +- ChessManagement/ChessManagement.csproj | 1 + ChessManagement/MYSQLDB.cs | 13 +++++++++++++ ...gnTimeResolveAssemblyReferencesInput.cache | Bin 23549 -> 21248 bytes 5 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 ChessManagement/MYSQLDB.cs diff --git a/.vs/ChessManagement/v14/.suo b/.vs/ChessManagement/v14/.suo index d4a0af601c2b6f59712f279939c868ef9590de5d..144d6b3302bcebd61bbf1c9b66e252bca9e4ddfb 100644 GIT binary patch delta 5114 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 - + diff --git a/ChessManagement/ChessManagement.csproj b/ChessManagement/ChessManagement.csproj index b853378..ed82198 100644 --- a/ChessManagement/ChessManagement.csproj +++ b/ChessManagement/ChessManagement.csproj @@ -377,6 +377,7 @@ + Contact.aspx ASPXCodeBehind diff --git a/ChessManagement/MYSQLDB.cs b/ChessManagement/MYSQLDB.cs new file mode 100644 index 0000000..1cabc08 --- /dev/null +++ b/ChessManagement/MYSQLDB.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace ChessManagement +{ + public class MYSQLDB + { + + + } +} \ No newline at end of file diff --git a/ChessManagement/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/ChessManagement/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index b3a3a975c7dd7b99b19dc8e178dcf6a5d3464a5b..af9c7d6c5541907793893e8b96a26709b5b5c786 100644 GIT binary patch literal 21248 zcmeHP`F|V56}NLNal&QFebuzI1?p@iA312#RcI6!2a(P|{Ey@xWhYg;kq zD1}lAw3JeMa`n@@eERwHA8fyGSGzi_ICeCv@`J_48?l;w-|xJ6GxO%n+v(};>FN0| zKJ+hrZrz7VVcIl=E8U`}FPPG2R@UzqoD=qdVdaA3^0 zJYVor4);C5tigdB4A=4YPv;dEz=qr+w2Z5Z;vI zap6`j30A3aq0ccfzFHCJl6j9xG5_Zs}f-AgEd2YD12~MxCWQf6&bKMJ=6&%S9^pP=6uI9ZC-n%RZ^%W zdA~3D94~Ug9f+C`t_`8fkaW9do}#w+OzMIgW0O|xDE3} z`x+h@oIc4NE=)r|4`p3RU%tFe5%h=!X8C-Unc~V&Tr}$m(?J?AZ$B=F`wr08gLHvA(9?GdF8JpVUHa&9m@Y?fIjr4^YmastF5??> zHP7kkEF9@ICU`D(c60iLGxM63l;;QxCL_miIKPrH{c`kLw31?@h3KcE*ZOS?b##@Bg2HN{(0 zhW!6$I#o<2@A{t3WMy4@5b`c}EYC1pxS+XAp)gx^9e%;L^H{V501p9RUKK#Fwh?wH z`C&-Ts**h6ijrH?$s;N$pLdOwSlf?6@|-Hl=iQR&gsS+eN>zkCC=@&Z!OyEA910F- z%TWAd5UG3 z9dn9l1V~xTCQ~)MCxEBS#4yd6#p;$p^hscx@3c-(m4~{7T6zi+J2qO9NE2<|bv=pT zS4B6Z)V>YT9gi7XMcWwcNcmNXq$rA}+G1FSW-Sk%7LrHXl8QA>3Ri@Tnd29~m^^b*hOXfVW0 zwIRsud?>6`5CRT{3dBRrQrVM{{9(vn>a_8*hA=BIHD={8y=J(}^I=3(li?>Ovw2jm6F<)Q4ci7vj9@&RxQQ(06`_@AiLw(LoGQZj6Gx_@m#09vB)qz zqV~9G^C|>}lK~jAb?u@GfkA9xnjvLEXbTYdY^PPGu900cJ?v9Za2=t?OAy=fZUF2l zTAV%ydDETJJncIL3sIGDJ^egH&U7lW!i*K{>cora7a(-8Q=!qwx^;nNvx;^Z5S_1p zD7-Z7=8-d`*DN6ixrN1{z22KB zRJ^gLhly+ROs+`KD)0;f%vEX1U?1y6FnPI4M4G_IvSlVJ0f!}USo?o)ppCpM-E4{` z4TO1&r?kWMkoV50}BXn5J+|$TFr;!P!UMG_V;&H)rHez*=Q^b zhQ1OYy+j+h6*8Lc%0TA3MQ%-8Xg@QV*le*ZQzF+lSSOo+>UjUVmIJyp$63MVdfBrr zZ5e_)-eDoHB1pc7G_wM!9Z#qvb&gw{K?OAj!-Cu^yVZDXUKz);gg&f~U_8LS(5V$BE-tw2Iz|*X!5M6;deu0O1|jIQKHPxb`a2<3fVk_3*i9p5 zuUfRchSyElSAqS}&1=5yGc`o};$5Ol3Bfl#$o@BY#e*t_;MmnIqv7c(y|pm06JYmA zQtZY#QXmRQAg|VPz+DkAY;3M3hV338mJ%#KON!+z7sWA3NaA9LG}}HwJU#IIA}OAi zOsC+k$(m`+V_35}-Z&U5Gsi*jm74y#iVYvy@(gkI!C8fi)y_O={N0up6(AC;An`$W z6t_K}CLI&AH86WCDQ4SnsfYIC&Q5gJLFZj1biyfS0`Iyw1*>{dShNy@>rHFJ#?ic? zgSL5uI90)^gUN0Sz!ZiI8skGgL$K>~`ynml(_EYgT?3&{6)Gu4Xq{Vj&aL%HqPdZj z-e!;)3a#x_Z$WV)^b!btu265(yJsqR*C^UE!Hr;>6h_uOX>YNC>px0FH$n72Du~kJ zcigr0dXC<>>%sMkmIt$VO{|EG-Jn;rpICP+f{4Ei;wHRL;Fa)7-9Ye$-M|y;CyqUt zi<657Y8lRW3#}f($;BQ|b5?XNOdhTm)ElB0uK;e>$!)RUQ*V^OLdffE-w|U2dKGv| z2FpO=Sy#db4qhT7bGQM1OKH;fYoPOv3Ns1lWVzvsa9DCz&^9+Bw52>z`VlC-bkoa^ zmKKQ-ZlIdD95Hwu4Bk_(6y!Z}tWZ{Vtd;lyBK2dCQZj`!x74KTmJmVNsd{R~iO?G$ z^s#y^#SNGVbKrMOZOem1@=cIb*WF?(nW5~}9Wx6{6P=%cP6FL+9(x$@&38;FDo>Q? zC5ZP`G-KN(cDT2Smr^L2-fq#=ynwG2Ctg1VuMZRB6;HD}Wfng`+}>7YRWxW%IYogz zE#U{RAcxavgR)W$^H!VUMCWIq!xEV?qgRN7705e)x%r^P1-|AXgO`p1ct&EI@fb`Z z3=V}Mk=Ea-V($WR*U6Ca2Co_OPoYO!_|9WLcar^ zlQ>>{L`#7Adtkn)&|4sDXPR00G0~3noNWc|{Rx05UpcX=5zu+lxf-B-3bb9n91!~t!vgN@gXI0a{tCy+e6_twZGukyEe`u z%Y=>rqw~S0(0MkszvBLb8}sc?JgaVMf5Y!;4*mE$B;B?#$JQu_PG_QRYX2bNP;W=) zfaFal*MA2j?Zcn;Ph65|G3{RvO=+p>jRCP$R>1B-|2=@9&n){O+&cSEqVG`Q~J!xd4AD!^(oi3U1uhHY$SD-3u(H}kpdpg#7QxG=^hCY!zz_uUIH~Y%yr@|jO(?gw zeKqSk<_Z@NbiSQ6Wz}MJ0&IUUGPHZb2j_%qa4B7p0ejPfOfb3V5ni149nZ9R^ho=g zLM_QVeaYu}i3{%FRnx+?@zQ0y=|&OX4b-CT&~|Ftz`#yicMJ{=YWT%gCkvIg69)wH?N;MwvhOcBdZhoq&_whyP%P~d2H>nb|c>O!r;`S`7;s@ zX#R8!UPk`7>y|B^$_jIp=R*fQ6?*8Y$d!@#sS4brS>~`Zx4GkO_}eWk=d--vmvNQw zNf+QZ&2#BmtBI4`aFTR`85KTs6UlZnF88+5kLLoR7}_vO+)5=(NfP^=Iu z5Ke}O4**eR69^IKn3R~77emZ10rR3lDNk3qlkvR@y3bXUruu+2*0e7JwxSR=93kR% z{vgo&9-vW}L^#Z9ve>Tx+ExmUAW3VLeie}QUO`4(9HY5_OsCy^jDyMav-&a%T#z>q&$e ztGXej_I04C=ma;S+34d5aRi8lA|;Z1ImEUCp#1<+(M(EEq|BGCdbMI22w?56Fso!C z044V$;^$jT=yJ8J>43kaK+Y||*W6M``$qr7_q>vp?jJmNJ#7^5Dt(r7yr84<5hmBh z0HtIEs8+EE5cGYBh@0h#Cu7KQKnex6l{17{g>f?zQ;N|^J-xp`s|k~b#>Xf0WvNX7 zceU5J)NufN64)wy`B>&gzX-4c09#QgXag*g?x148<%>QS_5GvzXj&g5bshqst5CvL zz(~r&09Dac;ySclc%Y7XN$elf4}@|)3P=?lK@2Ilth!E-RQgRonF>`JLq*E`7T{EN z0_fr}<+LTj93C?*dDi4L67vXfRk#eXMibm=*YG7FejA7?Z8bqWF3e&q=63+9vI|H+ zXSw5(l-~uQr_g*_0COG|c9|#!`pp1&y(h@I%raYR1oP-G68$I$yrv>nx51`nJ21#J z2HG4Kt0vYqiPRKGz1%laSincW0*7`MeVRplvf%SfziMd;%kxCy7)ZR-H>Di6+yb-A zOW|x3bf!V)xxUdkffZ|4)JZSL`%2^#_b3sAh@9wa1)=?zEfq8aI?wj4f+#dENGp$l z#`Arn5%;{rAm0aWE2Efz434`*hOjzj5T6dXj=J^^f%9`I6%R^xF`=TjK}2w z@|1#Mx5VISKyA2a3yLtp@e*>dHSLTdj3C}N%aGP3w6nk{D$o_R;#|%2u#`$GdstsM z2P72>mN4o#$nqp0E+`P@sP7algeb%4(f5E-P=Hcp#tK%jlaSH(fm2n06AwEZ=leFR zYUhEfWcE!#-dVSROiDeny*!|5T@Wx48Tu}J9G|P3h-e`xDayIlXA#kZ*Tw=;9He^Qajq7^jtuFMZV zmqyMWoyx@>deDEDLF2`q+e%fM2x7))+lkfRr?bOk^v91#MV=N4zsUF6YOfRbIPy~Lt3j%Nvd zT%UmJaX6ix$YYB`KDarqNBcH{hHL})gRUBJMpnu93GF7#E)sfU?P@&mgous9y@|>E zRf^Ln=78h7>NzeyLCamx7cF-M`r3qHRG8?wpx2EUYf^W|kiX*9lWb0`N{#B{O@!LN zClXbV=t|)E|7MZ9Xi=C5lP%(N5qv)DYMnJ4*QVHevdEn&BkZjQ+t&a!!sm?4>44Ew4H37 z#*a<8QUM~i3Syu1O~0E{Y^e$&TLanmdq{Q@dX2Tcq<V$lun#`<(AuE`59gEZKB;IQ684HW!iV|9`)l31ln=M_Gz#iXv9V_W*Nr6W#06|r zU0_<|x_55piRC>D3aUEs0OW)#F}Dadgp(azg;HB-s*@jr;fIRsD`1%8hA+at(Op5M zUXA01^2G8vuzbBIEU%)$gdMSZ9;`m@2`eP?bIci6wyeD50pj^1@KiMdw$^dDH*m`= zqvFKz$Kd$4p6D`Z#hGx|+m_jGc#wF%0NzSlcw%vO8kQOG?QTZ_fx=hH86FG*F0=qp@WJZ zlSo5209y(pi(#a!{dR*GJ(AYu&0$MHd&@=$*{~~ zJtX5eE>7qPj-??EuY&{St9Re&OE}OL5?_QFGz9quASs1HAtYv^g!CqmC{aim5@}SY zOOAVu1EvD(w^U0RV3U+T0}|y3DU*^w-UbLY3}ql$!O$+sf$n||Fv|N^28O9J7gd23 zp(Iz3gnS3Mv`(lDmwMQy7+DMWF91#pMM}X*%69=oDUnKnvUP{qrjZ!wdjMTl4H`y3 z0u%Zr@Mt5tQX$)#{QJOsPp#)c2GkPBXpLW_^HHz6p&V8GufXqZwfvy&Xpejl4#cWP z%h1=vu2GVxeE@2-<3?$9wKTV115s&nd(yT7OZ*T(wA)#kXasc9bS?&H9|5f!`_B>w z29|VO1dG3;bPi46$29Jt?sn}4D&&pLn(tMyf3#r_z?Ym!x@#?^(j) zFP#U9Z~nR~aaK1T+PHlpBc0EB#ls_2*nPJvzsu*-onPFuXXs-XRQxln;nN^~wcp@! zMoDKsd|iz3TYT6xjnifa_uv!tzAa=1hdSLI-iy2RGrSKM;;a20mpj*|Iv#&}S^EUv z-m-oIsZ(^|DV>BmgT`}N`vdOZy}r=-Y}fi_?NfZ;o#V~^h&SD^KF?~j5J9KEUe-Rt zt#eRsw+}okm`;B9CcJzHezia0qNWnHKjYPu)Zcw)03l^o#G=gbZGfPk>jDcUtE8Wu Uf7$Niu673Xb|06V4ZOJTe`8_y@Bjb+ From 07679d133930213503ce8b949492afa71c485f0d Mon Sep 17 00:00:00 2001 From: lewibt01 Date: Mon, 16 Jan 2017 00:27:41 -0500 Subject: [PATCH 2/3] Added MySql Reference Added the MySql reference drivers so that we can access the database. Also impletmented a simple test function to test connectivity along with the beginnings of many more. --- .vs/ChessManagement/v14/.suo | Bin 38912 -> 40448 bytes ChessManagement/ChessManagement.csproj | 1 + ChessManagement/MYSQLDB.cs | 64 +++++++++++++++++- ChessManagement/bin/MySql.Data.dll | Bin 0 -> 424448 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 21248 -> 21339 bytes 5 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 ChessManagement/bin/MySql.Data.dll diff --git a/.vs/ChessManagement/v14/.suo b/.vs/ChessManagement/v14/.suo index 144d6b3302bcebd61bbf1c9b66e252bca9e4ddfb..ffc138658f8959b01ad2fdcd095abcaaf4b2c961 100644 GIT binary patch delta 4103 zcmd^CYfxL)5x(al2>}8F#y~J3U?CGzkYz-$?8vr27(c*(jED5$U=-;XD@eLR4{T^U zlI=9XrkR3v>UJ{8q~o}M;@GXZ(=>6Mgc?stnl^S)r_XfEkN!@Rj?<1aW7FM>^!Aw z;bo-sHS_u<*j|kwziuNe*xruVj39eSs>FU3qEHYtir~I+$9hBlJT0<7WJcZth=&nY z#1{BeRg_VNEkz7@hAO5XcTC4cZ_X#{URe;kILyw?i#<9&c4ajFWTGYVlqfmp%A|GV z(W+nmyrX#Wt1qe)vphu9MB&DoIwZdO+Ir0()a5Z*hFCVp@tr~Z{TS{&b zj^oHD5#L5Ug?JhPrI{nEk_t5UIb@zk+!=SSj=qA8pCMjFyoR`lcpY&G@dn~e#9N3- z#1!H(f{gtl@ul`Ow%euwxy z;tz;FBL0Lx@8C=0($Vy1QTt^CO3 z)8$}mzFe)ywYnkBnzE74NlbU~j!i%JkE-_K4^?{7SN92A@WIi6#)(4AZ*$>( z_+e3RykKYQVt0Uj9XeTnPFh5G!MvuG&KeD6v?vgi9_Oy`X8R!?3hi909J$nWE9`38KIEn1SKK z3#v?&N?x7cOoU0s^QV6;oVfaJ#t z+#|WU*VyI>g^d){U6-kBl=98SMutDqhs7xc`^ahcWp>{dS1O&REP zdV(Q*UZ!bbpsA=@`#te)*1fcYsJ4wexSt0-F5~<`u*tkmo@}$F!R3J(c-d%Sr=T%V z0o5bDbl756mAGMGbQ?6*P33*#QCgi0a*H0b8EWt})mhT%$)#kFq-pSP%sve_>I@nk zl}|73i4yp;S&uBeN%c9V>|eIjTNkglXER!D9HtOmNvt0t^&PqzWG7#($~}3rKF0Py zl+Tlj@?yh6DUkY~TvB4$z1&{80Q_t9>8KL}ldOKXi1pau{9{cZK6dBD$)2>h>+hKled~$DzED{5@8Z>+CxwA7lm*EiPI zx7ZtMEtZBxxZ-|mDVh8%Um-3fgvq`V=ymUAyXhCC$L(J!CN~pA&mJO*gfdM;_m|NX zqMHr%_4FT!LK~h)w!Zi_!;D*>{?)6rwFP*(zXBY6#SrU%5RQ!%GoAeN{wSL$##aQr z5>j6S>52b*fQ{b|`+a9{r)0v+Xo+0;%ozsSkt6W|8^lH?m%Wl@+esS(+lk537FE2> z@L$_X>i<|_$df%b7C&i&iIctZ%qU(Y3pVRAFQeQ=$JDja06mwMfBqy+DP`@UGEgZ0 ep!Y%ce^8p+#HA{Z_;TR84eUkR3AQ*7oBs)Kwr@uO delta 2882 zcmeHIeQZ-z6u(gzx4^-@`S9JGY8G#-D=txcCM^ynxp?C;baZ!)*{v+ znh|C2OG-h79ec@LnB0P6Jz^_j8zMjK{3gPUWXi97H?J04kiI{s7W%ohNczjf^|QOf zv~JnXr8r_1Rv#u=jns%@gbu;#RDxhOJeJuSD*24QFJ-^{w|L0Pxser;jr z*J%f_a|m%5s6H1;mxQw4!_f%@3+p7x58$M(ChRllK20cD{BT-V8TNgC|8n*0@;gh+ z3oVIc+NNwg)iGu;Cd_&Z=T(A~<uJ_dANz+Bg$C8 zVamBw@LS#!TH`${#)~d#Sz(i2Kq{7%8zvo%*4wC#U590JtZa|*s!(+K36dLDL^UIK%f=euwNc4*Fo1iOAup&JJy2oJ)G7)7v25Ysnl zCvYGmqGcDTj?uRok&I7$0SD#E?Z-4+boqG-=TjS4ZKxJ**IZmEon{?{Sm*~8ArhP$ zC<58|YWDRphvE3L-!GS!&3tqehJPZ+<@^C6VmzO;zc~GE{fX3yFWOU;jyDxJ<~B`M zb5PN8Rk>=dpplMNwkP$$SVtGwDw`vn677bu&Iz>xBijzQi@N3=v-&esYk^AbU@JKT zykt`@G&FOQ5~m4}0NPYQOV+R)z~*?4XV0K--T3rd*YsB|?iXgzXo@&x{?yxNXXfiA zAM_0mg3-<^;~PSBaupY`RoO64qS-F`14E-;ZR@DVC-_Cb)-D7FdxnA{Q4wu^&w+p> zdg{CUdxyNj$lW=(kfgEKkwD(IRWu!ZZDpwv86P^&w~<(gi3o7{>4NlrtbvHS0P#S!ajBa5IsWhc zf^tm4|!d}ux>e;^F*tH!F^=^O|%3yCTSbMEgF_%h_d#y<0-M=nby~fnoP$xF@ z^+RmW$pXRBzuIgTn(9oVS*SDb>$lW3HCY5WBAi{!rtIp=;ubT4ytlZzb*<~E08+@+ z^{iL)yS5BT?S8>6dds^--)O+q+S6z;wFD-+xrxBgfY&2>r3P2)pcn{r3SMDAWC~a3 z&K_rnZBu=JVB5pFdl*+nL0q+3u=JVg#76Vub!ONoHnK|V*b zaIS8>X2+N8_fDW?Lk)OGa=^OJ0GoyjX}WUo_(o2lYvYv0r((l2;;}-^9g9ABP4z#I z7UtLkc{K6p4*nl;D0cxqf>CUHgp2`sM22^Ub@-cFJz|4Uk-oo fKSjAT{4rJfUcZu@TT2t1Q(|s(uz*AGg&cnY`Q^G~ diff --git a/ChessManagement/ChessManagement.csproj b/ChessManagement/ChessManagement.csproj index ed82198..bb08339 100644 --- a/ChessManagement/ChessManagement.csproj +++ b/ChessManagement/ChessManagement.csproj @@ -76,6 +76,7 @@ True + diff --git a/ChessManagement/MYSQLDB.cs b/ChessManagement/MYSQLDB.cs index 1cabc08..3c0055a 100644 --- a/ChessManagement/MYSQLDB.cs +++ b/ChessManagement/MYSQLDB.cs @@ -1,13 +1,73 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Web; +using MySql.Data.MySqlClient; + + namespace ChessManagement { public class MYSQLDB { + //hard coded ip address for the external SQL server + private static String conString = "server=172.76.245.119;Port=3306;database=CHESS;uid=webAccess;pwd=qwerty;"; + private static MySqlConnection conn = new MySqlConnection(conString); + + + public static bool isConnected() + { + try + { + conn.Open(); + Console.WriteLine("Connection Established"); + conn.Close(); + return true; + } + catch (Exception ex) + { + Console.WriteLine("Connection Error"); + } + return false; + } + + //returns a List<> of every user in the database. + public static List getUsers() + { + List tmpList = new List(); + + return tmpList; + } + + //returns all the data in the DB under a single user entry. + public static List getUserData() + { + List tmpList = new List(); + + return tmpList; + } + + /// + /// Get a user's match history, with each line containing the comma delmimited values of 1 match. + /// Data is displayed from that user's point of view, this determines whether or not the user won + /// or lost a particular match. + /// + /// the username of the user who's match history is desired + /// The designated user's match history as a list of strings + public static List getUserMatchHistory(String username) + { + List tmpList = new List(); + + return tmpList; + } + + //return a list of all the tournaments in the DB + public static List getTournaments() + { + List tmpList = new List(); + + return tmpList; + } + } } \ No newline at end of file diff --git a/ChessManagement/bin/MySql.Data.dll b/ChessManagement/bin/MySql.Data.dll new file mode 100644 index 0000000000000000000000000000000000000000..9abfb6b54996d1fc400606a3b152aef37805f447 GIT binary patch literal 424448 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 pDXgia)SJSy)yddlk!Z2{Z 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 K*NytO9(V@jJZ|3r literal 0 HcmV?d00001 diff --git a/ChessManagement/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/ChessManagement/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index af9c7d6c5541907793893e8b96a26709b5b5c786..db2c23acd59038b9ce5573c5d6fc9a3ffed224c8 100644 GIT binary patch delta 528 zcmZoz#&~-f!fSG%faB)>JTHtGLnk-di#zyM1_%1YfJp`C{Jgx> zntEI3(WiD%Fj9*$jbxsa@>R&=S*&J>tUQbnb*CYbskVA2Q2f|U664; z(4>UP7d%*4K{hX#T;P$*xN!1836M`VOM6PNN-qMchXFx0Ad3-**%ku{PymL?39`e) zmH-(nZlyUnj2u7~D-d%ontaetlyTAI>wa?P%YXtB)y|1|DVZsWC8^MWt#r%GNiD8r zTMm>Js`kjtD+x#}$#5&m&-E-x&8=lyF!fSG%faB)>JTHtUJ2~Vr_D4tW$x!BAEQ-78h~WX+V*3utk?rml zjB_V{a4%$?2NZ|c1PlY-h};~o7v=*+Gr*>SLPpz@mvO=5gAyi_^f)({c}lP{E}Y!& zC(61As45h!>YpE%=VBm_#jP|ahmixwVg+K(g+KxZ7&(C~3{gQYsJtLIkiiDROD6~V z%Q7yTobNBrz8okZRUI-s+&la<|N!RKLXB)LOPxKp_`k j6gy1z2;gH~4dj8{#m2S<$czO$kvmX`ap7jUKwBmN(7um| From 75f9a2e2c16bf70f7e4a08b4844b6b84bba56d7a Mon Sep 17 00:00:00 2001 From: lewibt01 Date: Tue, 17 Jan 2017 13:06:54 -0500 Subject: [PATCH 3/3] More Methods Added more methods to the MYSQLDB class to facilitate SQL queries and commands, is very much still in progress. --- .vs/ChessManagement/v14/.suo | Bin 40448 -> 118272 bytes ChessManagement/MYSQLDB.cs | 57 +- ChessManagement/bin/ChessManagement.dll | Bin 34816 -> 36352 bytes ChessManagement/bin/ChessManagement.pdb | Bin 95744 -> 97792 bytes ChessManagement/bin/MySql.Data.xml | 10569 ++++++++++++++++ ...hessManagement.csproj.FileListAbsolute.txt | 81 + ...ement.csprojResolveAssemblyReference.cache | Bin 191180 -> 368669 bytes ChessManagement/obj/Debug/ChessManagement.dll | Bin 34816 -> 36352 bytes ChessManagement/obj/Debug/ChessManagement.pdb | Bin 95744 -> 97792 bytes 9 files changed, 10705 insertions(+), 2 deletions(-) create mode 100644 ChessManagement/bin/MySql.Data.xml diff --git a/.vs/ChessManagement/v14/.suo b/.vs/ChessManagement/v14/.suo index ffc138658f8959b01ad2fdcd095abcaaf4b2c961..1a2e369f32ee777e9a8addcacfbc9baf140f1f23 100644 GIT binary patch literal 118272 zcmeHw3zS<|dF~mxX1$ZdOD|%%e6HFuf@Z40M^4Po%Q}5`0+;r;?5pz9;Fnu z0@_cQv6P&`or?8E#dnn7cKbh%d@kN7GTVTU|FR&EbD0+(zXEU(;B0`re-^&;IqAZg z_3vx(c|L&o$aG9&zb-|Z7uDbSAN5a}=3L9~Z{hnDfDy|*nQk$kTaeGyfUSUSfNKEP z0^R@^1&jg40W$9ieBTbZ4zL4oJzytb7hpHwmjNX^OCe-r+0O!9knS>#eg5;Fy!!KB zVq)b#*_UrdpYZcn@cFBNy8yoicq`y-fVTsF9q z^bg|mGl0(m9s+z0!24GCL)`l#z!v~t1bhkbWxyW;{si!+fJXpd1w0DiyN}mD`TYre z|2p8$0N((76Y%E%j?E_lPXV3=`~~0{z+VEs4fqb=uK*n1-v#_N;Cq0-0em0uw}8I` zu#6wzlXFDY8@E>dV%h!vf8qAOoBTtNd6!ozur++J6X{ z{l9vK*Fnd~<4=d~k%k^p(k7q-6^%O;t?E>4+KV^T)3x3;Anj-CrMf$`sHyWjGEAMdfhcI_%Ixq z(*GCZehA>V{7)b)bpl@A<-1EDDBmcTW%Clby8r)sJeK9Vr}Xz!lq~-Hd&5lS)&Bnc ze}2z@ul^q~hl=vsV)*ZU$mt*Jx!r8gok>t0N`YB}7r4|2;@A`9JCJUX)3G!#v4z zxbi?LpbF`vfZxaKbya=57UiFd2eiYn4yrWvdtbwiK>g|z&G;V6n-CS$fB*<0p!oN_3zhU?A?2h7=ZrD--r6_ zM*Xso)lAu!IV9@kUySd5`~M82mGjRk>+DAUl)@>Gk_Jp-_LcCbgDOnmP8PI^lDYLl z`E8Fs(yO}o3GC0|kL!Oql^^( z4X)$U=0n|!_NSKs&IgbVas7|>xR(Kb5%6*V^+VbyUI`$rCcXlIO8}IgXg|IjKwA>| z!xezn0%+U25q#;PYz0R=_sEHGpdYZvcz} z#sEn`3NQ|s0Bi?b2iO6)9d)$CS|mqHmd+ISV4`C;d{oAU8~5OR;>W!=^DQ0@wALzb}FAiDTnbE`H+8lIrkh|HH*?q_13X{@@N?YUCa; zvM8jGFh&wukPS*Ttef`ze?CEuS=0=4db9x*lTH z&B?D-7xbTj*Wdxm=A}wwzc+*%`|3CC<*Ub^wIAY*u0{t5YS zu3XLJs?kI^TdfvmO2k4WlOtMYO|;A|RBtclr+|)=C+{3hB!^a5+jq;K4n8pA8sC%0s7GO)MDz~1&kZKuHAUY(^U(@`UCEZC#owR7lRVkGW zPX9xzfZ#Apn{K}ozYd-$ZlzF$Q~A>7=;j9s|D(3cx6VKNI=@)`nntT<4E@VolWS^1 z;|KK*nm1kqARZbIT)w;o&yKAT3HCt8Is%&~{a@`XZ~L`jmt4dnx&Czye)=u{myvdV zJ?HMWf7UDM^3i$yVX^iv(Wp+_e>!EKPaAYaZ&>5k-tlKY+VH�zdua;K!c+{3os= zcC2*8X>30|;AQ{ro%IP?POI7lFF$wTbJrdD%crNOPd~mP9CgRUUoEly{`@cGdW{(C z)?Lwk|Bv?h4@v*o>{eXM;s0?i^0@%uG)GvD^%}qrX@43^rYAGW*Z=g1!_TDd|5oCz zXAi#dv6J^;&2ucBJb-jwv&(&TY3bH=r*$u}dLUK{=D<4{L*VMy6d(T0@-qXO9;n3CF2Q0yb9E$xx=!Wc?&44S&cNsQ|fB1r@=ekQSY zJef@HlBunq>+oY5tuNw_Ga`lc_c5g3j`jL|SZ5u@`{Tw7zkvT&Lk}7Duhr)e?DcGcyi{eV z?XBXC?PI%k(0)4#{N_-;@Gi|Xt%P$=)C}rPzcBksJ>L&0-rt9H`ZBy3=vyl+$D_!* zW~}XSb(%hBW}k`mA9MY|xBb6~PfHxQeOl#jd-;9)zv$!Dvj0C1{C@{tjKL;lMYnM$ zpV6OyJ^{SE{NE#ncacb|`o9?eKd$x5@>O}Zdr!9AFaNjZ&v*Lv|L*et_(yb*T+g%i z?Mi&Nj)hKqC)cMuy4Y)c_ryNpDg>{*amWm&pEh|PceHMXtwVUOi9NL2U{8%9eH<_- z3MXP^CC;XFe&Y@E+x1##U%6bYZVv3n(q*As+7=DP@E3^=Mm7hM^TpbHMc-D^=WCU0 zadTjDeyUi=?bH|cm9et9Z7Lj{j!zFwM%*V1nMmRy;W8!u1!s z?q=$1);wgnTrDsyp!9gA$4_(JZbBM&>x<|OxjK?Db|`WeQ4zhe54lkT&Y%s86R)7%P^qWNnNsgu8v z<6K{^0IFysqbrJ;V%BlS(kJwCR{5VfQO$PoNPCulJX-N3XNeQl7b^j#*SEARne>2d zv!{}|(p%MDFSd>L#nxFb-wG(+vd&m*{hj-YmPFAT+-FV8nDsqb7JD>>(Wc%X3742b3w(&{@zL!QR zWX>D`^t)w$a4&uak`ccP%V`b#(E8N9Z9)Sr05c11$ULlp^GJ0bCmi7^)KoooW&21Q z{EQ~&as;1lmg}6PCs``j3Dmq@rdX~~8^*{>0Dt6$aRB$T$G|7K$32E;g8=f)6uxmx z4}-tPQMVM{88e=yFzyE}qgF+=OuBC8pt3zGzUxfuoUu(WcROWS9N(2S8&c%xXU)Lm zu;iO6ox!;klzg{iK2b)Zq$=oEwz2DwoKH2boanr4i{QY`W6_Qs6`iNwz6z^qNyD0h za~m%*^5nk$W=+XXKg_XXl?h&fw*`kF*C2;w3=q7d}?cgZ83vasXSKER4 zrS1Kk!x%T?+Q>efgGNRuCpp4C4Ahq-E z?_Y0VLwcTa#y0PEUw(?vIueBC#hlA_z7fJ~WIxk;j`9hCJIz&8VQIO0{{@!?dbJyUF(y2+aR5p%gs>L}NR!}Y8Q&W0Xp57SJ z8yM;ZF5cX7Y1{Y1y>9E_c6#^X;T~=sqvB-i+=-f=cWXb~XlE-7m z-X(hDmb;h)r|CUhyF2oM+${!FG8pi1Z6 zrjK-_P3j)<6B(0HIynla4V_4MPV+Zq4SJOb?{#WROBpBr%kakV@dk#wf&O^ga-|i| zX(h1l|IzpVpp{UyrsrmXS6gRI`+wj6qwoJgd#2nC!?8qe*Z2PrRxa{>uhpBr{|8qm zg_J1ySl|DnU0<}m|3}~dL#*>R&m`44ec%5>Qe{bRE`hw?Y!{K9x+-5cXQ@cFwr`iO z{P|tVn)UrZcJ1i^%{um

scXat%hxlm27TWoB2M_V9Y;ya0&Z& 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 BQbqs( delta 3532 zcmds3du)?c6#ve*w%fXH>$a|x(Up~T?bri4<*|*&KGreJ*1fWYNTLZKPZc&{RhU3K zG)5ChSdZD|4@f{sNaUeokt#86^4gGqhM+No5G0!Thw+gxbPCLKzV#zzJVcFu=t+Lx zz4x4R&pr3tbME~@yW&G1$vb9eCQFhe6K;=;j8G%R5$rupzXN#CDNjuCe$#X2gVqaB z#=@D{A=jAlsHY>)j1lazxZoWel7ssB#9DzH<7$$@5S3~ghONZdnt;E>IfB_y8Cyw- z(PLe%q%EHj zBj*665?H2>@=esT+wp`Xf`wov`E;=gu@^TPAZg-wzSjrw?Zuwwpsxg+t~BJelGJ9|qFulfg||ykXX4Ej?S6a5%Nrq@}4QdNc!gJ*^=b zcn-%`n+u&7NDo2?htg?Ljy|8p9cd5)8N_!GuONnx*E25SU`i3_amYe))=!9)w`bB? zlZc}g25li90Eg44kT?haxesq&&w#(SKK`27n82TFv?ScCjKkSActS2Qut+Cihoi>CcNdp3FQ%I1+t=Sa z?5F|s&3qd7eXH*2BuO)$=)Q+H9kWkEb)18tH+-5M$hFb2Mo^hwT52* z?p|^E6nHV@?M}OuKHSn)uYav*dzR(nHNhQHS5t`jyghX^q%xhY8|R8MwnazPmR*^BT(5>M^NkZAplYg#IA8dknh@ zYwyj@aFH3!)x8heuqkH4QbaMs6&<~LR(l0mT+2})x@R-yvSlzA17*QP&gd{dP(4lW zLRVYMT_G=3LtYk4vT0h9B$f=oYEg6=%)J}tz7CPEji3W@(g-)n{Z_mxr(wvi(6N2u zuTXD4z5(agRkvVg_H=~0KGB~9{rdU7=0*wk9-k%pGwF0+_1n6wU}2zF)@gmM6>r(W zA+FdUWxrwtx%)IU;`i<&B5VaaM}3k2BbmQ_e7+;s`MrXlTjy zNyT)nluACjSc=vE3;xGoB0cP^%oYb-U=fN7N>W>;mD2N+e>u`JX`Qq>5^{kalK4`O z+7#FFU?IOOQnOUL!gBofafg53?q!FCj-ysbmx0oH`@^$O7 zwL&R|{&4k)2NkEHYN17_&_ag)env+qqZR1(@(G@UW#aq*Jsajly521J zt8l-U!94c16vqajfTv)VyHb5O9_1YnO9xxdu94g@tiow5X diff --git a/ChessManagement/MYSQLDB.cs b/ChessManagement/MYSQLDB.cs index 3c0055a..8488023 100644 --- a/ChessManagement/MYSQLDB.cs +++ b/ChessManagement/MYSQLDB.cs @@ -12,7 +12,7 @@ public class MYSQLDB private static String conString = "server=172.76.245.119;Port=3306;database=CHESS;uid=webAccess;pwd=qwerty;"; private static MySqlConnection conn = new MySqlConnection(conString); - + //test if the database is connected public static bool isConnected() { try @@ -67,7 +67,60 @@ public static List getTournaments() return tmpList; } - + private static void updateDB() + { + + } + + private static List statement(String commandString,String username,String password, bool query=false) + { + List tmpList = new List(); + + MySqlCommand cmd = new MySqlCommand(commandString, conn); + MySqlDataReader reader; + if (!query) + { + try + { + //open the connection to the DB + cmd.Connection.Open(); + + //execute the SQL command, saving the relevant data + reader = cmd.ExecuteReader(); + conn.Close(); + + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + else + { + try + { + //open sesame + cmd.Connection.Open(); + + //attach the reader to the command output + reader = cmd.ExecuteReader(); + if (reader.HasRows) + { + while (reader.Read()) + { + Console.WriteLine(reader.GetString(0)); + + } + } + + }catch(Exception ex) + { + Console.WriteLine(ex.Message); + } + } + + return tmpList; + } } } \ No newline at end of file diff --git a/ChessManagement/bin/ChessManagement.dll b/ChessManagement/bin/ChessManagement.dll index bb48bf32cd20778de92b46bdb164ddae6338c577..efe3472bc46ba234a6cca6b4b06b7314648dd6af 100644 GIT binary patch literal 36352 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 literal 34816 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 M%@1xn+~e&Nw4?{^H8qqP+b4A%jjRUmOs!%>Up! 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 diff --git a/ChessManagement/bin/MySql.Data.xml b/ChessManagement/bin/MySql.Data.xml new file mode 100644 index 0000000..58245ea --- /dev/null +++ b/ChessManagement/bin/MySql.Data.xml @@ -0,0 +1,10569 @@ + + + + MySql.Data + + + +

+ This is a factory method that is used only internally. It creates an auth plugin based on the method type + + + + + + + + + Returns a byte array containing the proper encryption of the + given password/seed according to the new 4.1.1 authentication scheme. + + + + + + + + The implementation of the sha256_password authentication plugin. + + + + + + + + + + + + + + + Gets or sets the connection. + + The connection. + + + + Gets or sets the field terminator. + + The field terminator. + + + + Gets or sets the line terminator. + + The line terminator. + + + + Gets or sets the name of the table. + + The name of the table. + + + + Gets or sets the character set. + + The character set. + + + + Gets or sets the name of the file. + + The name of the file. + + + + Gets or sets the timeout. + + The timeout. + + + + Gets or sets a value indicating whether the filename that is to be loaded + is local to the client or not + + true if local; otherwise, false. + + + + Gets or sets the number of lines to skip. + + The number of lines to skip. + + + + Gets or sets the line prefix. + + The line prefix. + + + + Gets or sets the field quotation character. + + The field quotation character. + + + + Gets or sets a value indicating whether [field quotation optional]. + + + true if [field quotation optional]; otherwise, false. + + + + + Gets or sets the escape character. + + The escape character. + + + + Gets or sets the conflict option. + + The conflict option. + + + + Gets or sets the priority. + + The priority. + + + + Gets the columns. + + The columns. + + + + Gets the expressions. + + The expressions. + + + + Execute the load operation + + The number of rows inserted. + + + + Async version of Load + + The number of rows inserted. + + + + + + + + + This is the default and indicates normal priority + + + + + Low priority will cause the load operation to wait until all readers of the table + have finished. This only affects storage engines that use only table-level locking + such as MyISAM, Memory, and Merge. + + + + + Concurrent priority is only relevant for MyISAM tables and signals that if the table + has no free blocks in the middle that other readers can retrieve data from the table + while the load operation is happening. + + + + + + + + + + This is the default and indicates normal operation. In the event of a LOCAL load, this + is the same as ignore. When the data file is on the server, then a key conflict will + cause an error to be thrown and the rest of the data file ignored. + + + + + Replace column values when a key conflict occurs. + + + + + Ignore any rows where the primary key conflicts. + + + + + Summary description for CharSetMap. + + + + + Returns the text encoding for a given MySQL character set name + + Version of the connection requesting the encoding + Name of the character set to get the encoding for + Encoding object for the given character set name + + + + + + + + Represents a SQL statement to execute against a MySQL database. This class cannot be inherited. + MySqlCommand features the following methods for executing commands at a MySQL database: + + + Item + Description + + + + ExecuteReader + + Executes commands that return rows. + + + + ExecuteNonQuery + + Executes commands such as SQL INSERT, DELETE, and UPDATE statements. + + + + ExecuteScalar + + Retrieves a single value (for example, an aggregate value) from a database. + + + + You can reset the CommandText property and reuse the MySqlCommand + object. However, you must close the MySqlDataReader + before you can execute a new or previous command. + + If a MySqlException is + generated by the method executing a MySqlCommand, the MySqlConnection + remains open. It is the responsibility of the programmer to close the connection. + + + Using the '@' symbol for paramters is now the preferred approach although the old pattern of using + '?' is still supported. Please be aware though that using '@' can cause conflicts when user variables + are also used. To help with this situation please see the documentation on the 'allow user variables' + connection string option. The 'old syntax' connection string option has now been deprecated. + + + The following example creates a MySqlCommand and + a MySqlConnection. The MySqlConnection is opened and set as the Connection + for the MySqlCommand. The example then calls ExecuteNonQuery, + and closes the connection. To accomplish this, the ExecuteNonQuery is + passed a connection string and a query string that is a SQL INSERT + statement. + + Public Sub InsertRow(myConnectionString As String) + " If the connection string is null, use a default. + If myConnectionString = "" Then + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass" + End If + Dim myConnection As New MySqlConnection(myConnectionString) + Dim myInsertQuery As String = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)" + Dim myCommand As New MySqlCommand(myInsertQuery) + myCommand.Connection = myConnection + myConnection.Open() + myCommand.ExecuteNonQuery() + myCommand.Connection.Close() + End Sub + + + public void InsertRow(string myConnectionString) + { + // If the connection string is null, use a default. + if(myConnectionString == "") + { + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass"; + } + MySqlConnection myConnection = new MySqlConnection(myConnectionString); + string myInsertQuery = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)"; + MySqlCommand myCommand = new MySqlCommand(myInsertQuery); + myCommand.Connection = myConnection; + myConnection.Open(); + myCommand.ExecuteNonQuery(); + myCommand.Connection.Close(); + } + + + + + + + Initializes a new instance of the MySqlCommand class. + + + The following example creates a MySqlCommand and sets some of its properties. + + + This example shows how to use one of the overloaded + versions of the MySqlCommand constructor. For other examples that might be available, + see the individual overload topics. + + + + Public Sub CreateMySqlCommand() + Dim myConnection As New MySqlConnection _ + ("Persist Security Info=False;database=test;server=myServer") + myConnection.Open() + Dim myTrans As MySqlTransaction = myConnection.BeginTransaction() + Dim mySelectQuery As String = "SELECT * FROM MyTable" + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection, myTrans) + myCommand.CommandTimeout = 20 + End Sub + + + public void CreateMySqlCommand() + { + MySqlConnection myConnection = new MySqlConnection("Persist Security Info=False; + database=test;server=myServer"); + myConnection.Open(); + MySqlTransaction myTrans = myConnection.BeginTransaction(); + string mySelectQuery = "SELECT * FROM myTable"; + MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection,myTrans); + myCommand.CommandTimeout = 20; + } + + + public: + void CreateMySqlCommand() + { + MySqlConnection* myConnection = new MySqlConnection(S"Persist Security Info=False; + database=test;server=myServer"); + myConnection->Open(); + MySqlTransaction* myTrans = myConnection->BeginTransaction(); + String* mySelectQuery = S"SELECT * FROM myTable"; + MySqlCommand* myCommand = new MySqlCommand(mySelectQuery, myConnection, myTrans); + myCommand->CommandTimeout = 20; + }; + + + + Initializes a new instance of the MySqlCommand class. + + The base constructor initializes all fields to their default values. The + following table shows initial property values for an instance of . + + + Properties + Initial Value + + + + + + empty string ("") + + + + + + 0 + + + + + + CommandType.Text + + + + + + Null + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim myCommand As New MySqlCommand() + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlCommand myCommand = new MySqlCommand(); + myCommand.CommandType = CommandType.Text; + } + + + + + + Initializes a new instance of the class with the text of the query. + The text of the query. + When an instance of is created, + the following read/write properties are set to initial values. + + + + Properties + Initial Value + + + + + + + cmdText + + + + + + + 0 + + + + + + CommandType.Text + + + + + + Null + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim sql as String = "SELECT * FROM mytable" + Dim myCommand As New MySqlCommand(sql) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + string sql = "SELECT * FROM mytable"; + MySqlCommand myCommand = new MySqlCommand(sql); + myCommand.CommandType = CommandType.Text; + } + + + + + + Initializes a new instance of the class + with the text of the query and a . + The text of the query. + A that represents the + connection to an instance of SQL Server. + + When an instance of is created, + the following read/write properties are set to initial values. + + + + Properties + Initial Value + + + + + + + cmdText + + + + + + + 0 + + + + + + CommandType.Text + + + + + + + connection + + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim conn as new MySqlConnection("server=myServer") + Dim sql as String = "SELECT * FROM mytable" + Dim myCommand As New MySqlCommand(sql, conn) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlConnection conn = new MySqlConnection("server=myserver") + string sql = "SELECT * FROM mytable"; + MySqlCommand myCommand = new MySqlCommand(sql, conn); + myCommand.CommandType = CommandType.Text; + } + + + + + + Initializes a new instance of the class + with the text of the query, a , and the + . + The text of the query. + A that represents the + connection to an instance of SQL Server. + + The in which the executes. + + When an instance of is created, + the following read/write properties are set to initial values. + + + + Properties + Initial Value + + + + + + + cmdText + + + + + + + 0 + + + + + + CommandType.Text + + + + + + + connection + + + + + You can change the value for any of these properties through a separate call to + the property. + + + The following example creates a and + sets some of its properties. + + + Public Sub CreateMySqlCommand() + Dim conn as new MySqlConnection("server=myServer") + conn.Open(); + Dim txn as MySqlTransaction = conn.BeginTransaction() + Dim sql as String = "SELECT * FROM mytable" + Dim myCommand As New MySqlCommand(sql, conn, txn) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlConnection conn = new MySqlConnection("server=myserver") + conn.Open(); + MySqlTransaction txn = conn.BeginTransaction(); + string sql = "SELECT * FROM mytable"; + MySqlCommand myCommand = new MySqlCommand(sql, conn, txn); + myCommand.CommandType = CommandType.Text; + } + + + + + + + + + Gets or sets the SQL statement to execute at the data source. + + The SQL statement or stored procedure to execute. The default is an empty string. + + + When the property is set to StoredProcedure, + the CommandText property should be set to the name of the stored procedure. + The user may be required to use escape character syntax if the stored procedure name + contains any special characters. The command executes this stored procedure when + you call one of the Execute methods. Starting with Connector/Net 5.0, having both a stored function + and stored procedure with the same name in the same database is not supported. It is + suggested that you provide unqiue names for your stored routines. + + + The following example creates a and sets some of its properties. + + Public Sub CreateMySqlCommand() + Dim myCommand As New MySqlCommand() + myCommand.CommandText = "SELECT * FROM Mytable ORDER BY id" + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlCommand myCommand = new MySqlCommand(); + myCommand.CommandText = "SELECT * FROM mytable ORDER BY id"; + myCommand.CommandType = CommandType.Text; + } + + + + + + Gets or sets the wait time before terminating the attempt to execute a command + and generating an error. + + The time (in seconds) to wait for the command to execute. The default is 30 + seconds. + + CommandTimeout is dependent on the ability of MySQL to cancel an executing query. + Because of this, CommandTimeout is only supported when connected to MySQL + version 5.0.0 or higher. + + + + + Gets or sets a value indicating how the property is to be interpreted. + + One of the values. The default is Text. + + + When you set the CommandType property to StoredProcedure, you + should set the property to the name of the stored + procedure. The command executes this stored procedure when you call one of the + Execute methods. + + + The following example creates a and sets some of its properties. + + Public Sub CreateMySqlCommand() + Dim myCommand As New MySqlCommand() + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + MySqlCommand myCommand = new MySqlCommand(); + myCommand.CommandType = CommandType.Text; + } + + + + + + + + + Gets or sets the used by this instance of the + . + + The connection to a data source. The default value is a null reference + (Nothing in Visual Basic). + + + If you set Connection while a transaction is in progress and the + property is not null, an + is generated. If the Transaction property is not null and the transaction + has already been committed or rolled back, Transaction is set to + null. + + + The following example creates a and sets some of its properties. + + Public Sub CreateMySqlCommand() + Dim mySelectQuery As String = "SELECT * FROM mytable ORDER BY id" + Dim myConnectString As String = "Persist Security Info=False;database=test;server=myServer" + Dim myCommand As New MySqlCommand(mySelectQuery) + myCommand.Connection = New MySqlConnection(myConnectString) + myCommand.CommandType = CommandType.Text + End Sub + + + public void CreateMySqlCommand() + { + string mySelectQuery = "SELECT * FROM mytable ORDER BY id"; + string myConnectString = "Persist Security Info=False;database=test;server=myServer"; + MySqlCommand myCommand = new MySqlCommand(mySelectQuery); + myCommand.Connection = new MySqlConnection(myConnectString); + myCommand.CommandType = CommandType.Text; + } + + + + + + Get the + + The parameters of the SQL statement or stored procedure. The default is + an empty collection. + + Connector/Net does not support unnamed parameters. Every parameter added to the collection must + have an associated name. + + The following example creates a and displays its parameters. + To accomplish this, the method is passed a , a query string + that is a SQL SELECT statement, and an array of objects. + + Public Sub CreateMySqlCommand(myConnection As MySqlConnection, _ + mySelectQuery As String, myParamArray() As MySqlParameter) + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=@age" + myCommand.UpdatedRowSource = UpdateRowSource.Both + myCommand.Parameters.Add(myParamArray) + Dim j As Integer + For j = 0 To myCommand.Parameters.Count - 1 + myCommand.Parameters.Add(myParamArray(j)) + Next j + Dim myMessage As String = "" + Dim i As Integer + For i = 0 To myCommand.Parameters.Count - 1 + myMessage += myCommand.Parameters(i).ToString() & ControlChars.Cr + Next i + Console.WriteLine(myMessage) + End Sub + + + public void CreateMySqlCommand(MySqlConnection myConnection, string mySelectQuery, + MySqlParameter[] myParamArray) + { + MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection); + myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=@age"; + myCommand.Parameters.Add(myParamArray); + for (int j=0; j<myParamArray.Length; j++) + { + myCommand.Parameters.Add(myParamArray[j]) ; + } + string myMessage = ""; + for (int i = 0; i < myCommand.Parameters.Count; i++) + { + myMessage += myCommand.Parameters[i].ToString() + "\n"; + } + MessageBox.Show(myMessage); + } + + + + + + Gets or sets the within which the executes. + + The . The default value is a null reference (Nothing in Visual Basic). + + You cannot set the Transaction property if it is already set to a + specific value, and the command is in the process of executing. If you set the + transaction property to a object that is not connected + to the same as the object, + an exception will be thrown the next time you attempt to execute a statement. + + + + + Attempts to cancel the execution of a currently active command + + + Cancelling a currently active query only works with MySQL versions 5.0.0 and higher. + + + + + Creates a new instance of a object. + + + This method is a strongly-typed version of . + + A object. + + + + + Check the connection to make sure + - it is open + - it is not currently being used by a reader + - and we have the right version of MySQL for the requested command type + + + + + Executes a SQL statement against the connection and returns the number of rows affected. + Number of rows affected + You can use ExecuteNonQuery to perform any type of database operation, + however any resultsets returned will not be available. Any output parameters + used in calling a stored procedure will be populated with data and can be + retrieved after execution is complete. + For UPDATE, INSERT, and DELETE statements, the return value is the number + of rows affected by the command. For all other types of statements, the return + value is -1. + + The following example creates a MySqlCommand and then + executes it using ExecuteNonQuery. The example is passed a string that is a + SQL statement (such as UPDATE, INSERT, or DELETE) and a string to use to + connect to the data source. + + Public Sub CreateMySqlCommand(myExecuteQuery As String, myConnection As MySqlConnection) + Dim myCommand As New MySqlCommand(myExecuteQuery, myConnection) + myCommand.Connection.Open() + myCommand.ExecuteNonQuery() + myConnection.Close() + End Sub + + + public void CreateMySqlCommand(string myExecuteQuery, MySqlConnection myConnection) + { + MySqlCommand myCommand = new MySqlCommand(myExecuteQuery, myConnection); + myCommand.Connection.Open(); + myCommand.ExecuteNonQuery(); + myConnection.Close(); + } + + + + + + Reset reader to null, to avoid "There is already an open data reader" + on the next ExecuteReader(). Used in error handling scenarios. + + + + + Reset SQL_SELECT_LIMIT that could have been modified by CommandBehavior. + + + + + Sends the to the Connection + and builds a . + + A object. + + + When the property is set to StoredProcedure, + the property should be set to the name of the stored + procedure. The command executes this stored procedure when you call + ExecuteReader. + + + While the is in use, the associated + is busy serving the MySqlDataReader. + While in this state, no other operations can be performed on the + MySqlConnection other than closing it. This is the case until the + method of the MySqlDataReader is called. + + + The following example creates a , then executes it by + passing a string that is a SQL SELECT statement, and a string to use to connect to the + data source. + + Public Sub CreateMySqlDataReader(mySelectQuery As String, myConnection As MySqlConnection) + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + myConnection.Open() + Dim myReader As MySqlDataReader + myReader = myCommand.ExecuteReader() + Try + While myReader.Read() + Console.WriteLine(myReader.GetString(0)) + End While + Finally + myReader.Close + myConnection.Close + End Try + End Sub + + + public void CreateMySqlDataReader(string mySelectQuery, MySqlConnection myConnection) + { + MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection); + myConnection.Open(); + MMySqlDataReader myReader; + myReader = myCommand.ExecuteReader(); + try + { + while(myReader.Read()) + { + Console.WriteLine(myReader.GetString(0)); + } + } + finally + { + myReader.Close(); + myConnection.Close(); + } + } + + + + + + Sends the to the Connection, + and builds a using one of the values. + + One of the values. + + + When the property is set to StoredProcedure, + the property should be set to the name of the stored + procedure. The command executes this stored procedure when you call + ExecuteReader. + + + The supports a special mode that enables large binary + values to be read efficiently. For more information, see the SequentialAccess + setting for . + + + While the is in use, the associated + is busy serving the MySqlDataReader. + While in this state, no other operations can be performed on the + MySqlConnection other than closing it. This is the case until the + method of the MySqlDataReader is called. + If the MySqlDataReader is created with CommandBehavior set to + CloseConnection, closing the MySqlDataReader closes the connection + automatically. + + + When calling ExecuteReader with the SingleRow behavior, you should be aware that using a limit + clause in your SQL will cause all rows (up to the limit given) to be retrieved by the client. The + method will still return false after the first row but pulling all rows of data + into the client will have a performance impact. If the limit clause is not necessary, it should + be avoided. + + + A object. + + + + + Executes the query, and returns the first column of the first row in the + result set returned by the query. Extra columns or rows are ignored. + + The first column of the first row in the result set, or a null reference if the + result set is empty + + + Use the ExecuteScalar method to retrieve a single value (for example, + an aggregate value) from a database. This requires less code than using the + method, and then performing the operations necessary + to generate the single value using the data returned by a + + + The following example creates a and then + executes it using ExecuteScalar. The example is passed a string that is a + SQL statement that returns an aggregate result, and a string to use to + connect to the data source. + + + Public Sub CreateMySqlCommand(myScalarQuery As String, myConnection As MySqlConnection) + Dim myCommand As New MySqlCommand(myScalarQuery, myConnection) + myCommand.Connection.Open() + myCommand.ExecuteScalar() + myConnection.Close() + End Sub + + + public void CreateMySqlCommand(string myScalarQuery, MySqlConnection myConnection) + { + MySqlCommand myCommand = new MySqlCommand(myScalarQuery, myConnection); + myCommand.Connection.Open(); + myCommand.ExecuteScalar(); + myConnection.Close(); + } + + + public: + void CreateMySqlCommand(String* myScalarQuery, MySqlConnection* myConnection) + { + MySqlCommand* myCommand = new MySqlCommand(myScalarQuery, myConnection); + myCommand->Connection->Open(); + myCommand->ExecuteScalar(); + myConnection->Close(); + } + + + + + + + + + + Creates a prepared version of the command on an instance of MySQL Server. + + + Prepared statements are only supported on MySQL version 4.1 and higher. Calling + prepare while connected to earlier versions of MySQL will succeed but will execute + the statement in the same way as unprepared. + + + The following example demonstrates the use of the Prepare method. + + public sub PrepareExample() + Dim cmd as New MySqlCommand("INSERT INTO mytable VALUES (@val)", myConnection) + cmd.Parameters.Add( "@val", 10 ) + cmd.Prepare() + cmd.ExecuteNonQuery() + + cmd.Parameters(0).Value = 20 + cmd.ExecuteNonQuery() + end sub + + + private void PrepareExample() + { + MySqlCommand cmd = new MySqlCommand("INSERT INTO mytable VALUES (@val)", myConnection); + cmd.Parameters.Add( "@val", 10 ); + cmd.Prepare(); + cmd.ExecuteNonQuery(); + + cmd.Parameters[0].Value = 20; + cmd.ExecuteNonQuery(); + } + + + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this , and retrieves one or more + result sets from the server. + + An that can be used to poll, wait for results, + or both; this value is also needed when invoking EndExecuteReader, + which returns a instance that can be used to retrieve + the returned rows. + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this using one of the + CommandBehavior values. + + One of the values, indicating + options for statement execution and data retrieval. + An that can be used to poll, wait for results, + or both; this value is also needed when invoking EndExecuteReader, + which returns a instance that can be used to retrieve + the returned rows. + + + + Finishes asynchronous execution of a SQL statement, returning the requested + . + + The returned by the call to + . + A MySqlDataReader object that can be used to retrieve the requested rows. + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this . + + + An delegate that is invoked when the command's + execution has completed. Pass a null reference (Nothing in Visual Basic) + to indicate that no callback is required. + A user-defined state object that is passed to the + callback procedure. Retrieve this object from within the callback procedure + using the property. + An that can be used to poll or wait for results, + or both; this value is also needed when invoking , + which returns the number of affected rows. + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this . + + An that can be used to poll or wait for results, + or both; this value is also needed when invoking , + which returns the number of affected rows. + + + + Finishes asynchronous execution of a SQL statement. + + The returned by the call + to . + + + + + Verifies if a query is valid even if it has not spaces or is a stored procedure call + + Query to validate + If it is necessary to add call statement + + + + Creates a clone of this MySqlCommand object. CommandText, Connection, and Transaction properties + are included as well as the entire parameter list. + + The cloned MySqlCommand object + + + + Gets or sets how command results are applied to the DataRow when used by the + Update method of the DbDataAdapter. + + + + + Gets or sets a value indicating whether the command object should be visible in a Windows Form Designer control. + + + + + Automatically generates single-table commands used to reconcile changes made to a DataSet with the associated MySQL database. This class cannot be inherited. + + + The does not automatically generate the SQL statements required to + reconcile changes made to a DataSet with the associated instance of MySQL. + However, you can create a MySqlCommandBuilder object to automatically generate SQL statements for + single-table updates if you set the SelectCommand property + of the MySqlDataAdapter. Then, any additional SQL statements that you do not set are generated by the + MySqlCommandBuilder. + + + + The MySqlCommandBuilder registers itself as a listener for RowUpdating + events whenever you set the property. You can only associate one + MySqlDataAdapter or MySqlCommandBuilder object with each other at one time. + + + + To generate INSERT, UPDATE, or DELETE statements, the MySqlCommandBuilder uses the + SelectCommand property to retrieve a required set of metadata automatically. If you change + the SelectCommand after the metadata has is retrieved (for example, after the first update), you + should call the method to update the metadata. + + + + The SelectCommand must also return at least one primary key or unique + column. If none are present, an InvalidOperation exception is generated, + and the commands are not generated. + + + + The MySqlCommandBuilder also uses the Connection, + CommandTimeout, and Transaction + properties referenced by the SelectCommand. The user should call + RefreshSchema if any of these properties are modified, or if the + SelectCommand itself is replaced. Otherwise the InsertCommand, + UpdateCommand, and + DeleteCommand properties retain + their previous values. + + + + If you call Dispose, the MySqlCommandBuilder is disassociated + from the MySqlDataAdapter, and the generated commands are no longer used. + + + + Caution must be used when using MySqlCOmmandBuilder on MySql 4.0 systems. With MySql 4.0, + database/schema information is not provided to the connector for a query. This means that + a query that pulls columns from two identically named tables in two or more different databases + will not cause an exception to be thrown but will not work correctly. Even more dangerous + is the situation where your select statement references database X but is executed in + database Y and both databases have tables with similar layouts. This situation can cause + unwanted changes or deletes. + This note does not apply to MySQL versions 4.1 and later. + + + + The following example uses the , along + and , to + select rows from a data source. The example is passed an initialized + , a connection string, a + query string that is a SQL SELECT statement, and a string that is the + name of the database table. The example then creates a MySqlCommandBuilder. + + + Public Shared Function SelectRows(myConnection As String, mySelectQuery As String, myTableName As String) As DataSet + Dim myConn As New MySqlConnection(myConnection) + Dim myDataAdapter As New MySqlDataAdapter() + myDataAdapter.SelectCommand = New MySqlCommand(mySelectQuery, myConn) + Dim cb As SqlCommandBuilder = New MySqlCommandBuilder(myDataAdapter) + + myConn.Open() + + Dim ds As DataSet = New DataSet + myDataAdapter.Fill(ds, myTableName) + + ' Code to modify data in DataSet here + + ' Without the MySqlCommandBuilder this line would fail. + myDataAdapter.Update(ds, myTableName) + + myConn.Close() + End Function 'SelectRows + + + public static DataSet SelectRows(string myConnection, string mySelectQuery, string myTableName) + { + MySqlConnection myConn = new MySqlConnection(myConnection); + MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(); + myDataAdapter.SelectCommand = new MySqlCommand(mySelectQuery, myConn); + MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter); + + myConn.Open(); + + DataSet ds = new DataSet(); + myDataAdapter.Fill(ds, myTableName); + + //code to modify data in DataSet here + + //Without the MySqlCommandBuilder this line would fail + myDataAdapter.Update(ds, myTableName); + + myConn.Close(); + + return ds; + } + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the associated object. + + The to use. + + + The registers itself as a listener for + events that are generated by the + specified in this property. + + + When you create a new instance MySqlCommandBuilder, any existing + MySqlCommandBuilder associated with this MySqlDataAdapter + is released. + + + + + + Gets or sets a object for which SQL statements are automatically generated. + + A object. + + + The registers itself as a listener for + events that are generated by the + specified in this property. + + + When you create a new instance MySqlCommandBuilder, any existing + MySqlCommandBuilder associated with this MySqlDataAdapter + is released. + + + + + + Retrieves parameter information from the stored procedure specified + in the MySqlCommand and populates the Parameters collection of the + specified MySqlCommand object. + This method is not currently supported since stored procedures are + not available in MySql. + + The MySqlCommand referencing the stored + procedure from which the parameter information is to be derived. + The derived parameters are added to the Parameters collection of the + MySqlCommand. + The command text is not + a valid stored procedure name. + + + + Gets the delete command. + + + + + + Gets the update command. + + + + + + Gets the insert command. + + + + + + + + + + + + + Read a single quoted identifier from the stream + + + + + + + Summary description for CompressedStream. + + + + + Represents an open connection to a MySQL Server database. This class cannot be inherited. + + + A MySqlConnection object represents a session to a MySQL Server + data source. When you create an instance of MySqlConnection, all + properties are set to their initial values. For a list of these values, see the + MySqlConnection constructor. + + + + If the MySqlConnection goes out of scope, it is not closed. Therefore, + you must explicitly close the connection by calling + or . + + + The following example creates a and + a MySqlConnection. The MySqlConnection is opened and set as the + for the MySqlCommand. The example then calls + , and closes the connection. To accomplish this, the ExecuteNonQuery is + passed a connection string and a query string that is a SQL INSERT + statement. + + + Public Sub InsertRow(myConnectionString As String) + ' If the connection string is null, use a default. + If myConnectionString = "" Then + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass" + End If + Dim myConnection As New MySqlConnection(myConnectionString) + Dim myInsertQuery As String = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)" + Dim myCommand As New MySqlCommand(myInsertQuery) + myCommand.Connection = myConnection + myConnection.Open() + myCommand.ExecuteNonQuery() + myCommand.Connection.Close() + End Sub + + + + + public void InsertRow(string myConnectionString) + { + // If the connection string is null, use a default. + if(myConnectionString == "") + { + myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass"; + } + MySqlConnection myConnection = new MySqlConnection(myConnectionString); + string myInsertQuery = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)"; + MySqlCommand myCommand = new MySqlCommand(myInsertQuery); + myCommand.Connection = myConnection; + myConnection.Open(); + myCommand.ExecuteNonQuery(); + myCommand.Connection.Close(); + } + + + + + + Occurs when MySQL returns warnings as a result of executing a command or query. + + + + + Initializes a new instance of the class. + + When a new instance of is created, the read/write + properties are set to the following initial values unless they are specifically + set using their associated keywords in the property. + + + + Properties + Initial Value + + + + + + empty string ("") + + + + + + 15 + + + + + + empty string ("") + + + + + + empty string ("") + + + + + + empty string ("") + + + + You can change the value for these properties only by using the ConnectionString property. + + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class when given a string containing the connection string. + + When a new instance of is created, the read/write + properties are set to the following initial values unless they are specifically + set using their associated keywords in the property. + + + + Properties + Initial Value + + + + + + empty string ("") + + + + + + 15 + + + + + + empty string ("") + + + + + + empty string ("") + + + + + + empty string ("") + + + + You can change the value for these properties only by using the ConnectionString property. + + The connection properties used to open the MySQL database. + + + + Returns the id of the server thread this connection is executing on + + + + + Gets the name of the MySQL server to which to connect. + + + + + Gets the time to wait while trying to establish a connection before terminating the attempt and generating an error. + The value set is less than 0. + A value of 0 indicates no limit, and should be avoided in a + because an attempt to connect + will wait indefinitely. + + The following example creates a MySqlConnection + and sets some of its properties in the connection string. + + Public Sub CreateSqlConnection() + Dim myConnection As New MySqlConnection() + myConnection.ConnectionString = "Persist Security Info=False;Username=user;Password=pass;database=test1;server=localhost;Connect Timeout=30" + myConnection.Open() + End Sub + + + public void CreateSqlConnection() + { + MySqlConnection myConnection = new MySqlConnection(); + myConnection.ConnectionString = "Persist Security Info=False;Username=user;Password=pass;database=test1;server=localhost;Connect Timeout=30"; + myConnection.Open(); + } + + + + + Gets the name of the current database or the database to be used after a connection is opened.The name of the current database or the name of the database to be used after a connection is opened. The default value is an empty string. + + The Database property does not update dynamically. + If you change the current database using a SQL statement, then this property + may reflect the wrong value. If you change the current database using the + method, this property is updated to reflect the new database. + + + The following example creates a and displays + some of its read-only properties. + + + Public Sub CreateMySqlConnection() + Dim myConnString As String = _ + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass" + Dim myConnection As New MySqlConnection( myConnString ) + myConnection.Open() + MessageBox.Show( "Server Version: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.ChangeDatabase( "test2" ) + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.Close() + End Sub + + + + public void CreateMySqlConnection() + { + string myConnString = + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass"; + MySqlConnection myConnection = new MySqlConnection( myConnString ); + myConnection.Open(); + MessageBox.Show( "Server Version: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.ChangeDatabase( "test2" ); + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.Close(); + } + + + + + + Indicates if this connection should use compression when communicating with the server. + + + + Gets the current state of the connection. + A bitwise combination of the values. The default is Closed. + + The allowed state changes are: + + + From Closed to Open, using the Open method of the connection object. + + + From Open to Closed, using either the Close method or the Dispose method of the connection object. + + + + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + Gets a string containing the version of the MySQL server to which the client is connected.The version of the instance of MySQL.The connection is closed. + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + + Gets or sets the string used to connect to a MySQL Server database. + + + The ConnectionString returned may not be exactly like what was originally + set but will be indentical in terms of keyword/value pairs. Security information + will not be included unless the Persist Security Info value is set to true. + + + You can use the ConnectionString property to connect to a database. + The following example illustrates a typical connection string. + + "Persist Security Info=False;database=MyDB;server=MySqlServer;user id=myUser;Password=myPass" + + The ConnectionString property can be set only when the connection is + closed. Many of the connection string values have corresponding read-only + properties. When the connection string is set, all of these properties are + updated, except when an error is detected. In this case, none of the properties + are updated. properties return only those settings contained in the + ConnectionString. + + + To connect to a local machine, specify "localhost" for the server. If you do not + specify a server, localhost is assumed. + + + Resetting the ConnectionString on a closed connection resets all + connection string values (and related properties) including the password. For + example, if you set a connection string that includes "Database= MyDb", and + then reset the connection string to "Data Source=myserver;User Id=myUser;Password=myPass", + the property is no longer set to MyDb. + + + The connection string is parsed immediately after being set. If errors in + syntax are found when parsing, a runtime exception, such as , + is generated. Other errors can be found only when an attempt is made to open the + connection. + + + The basic format of a connection string consists of a series of keyword/value + pairs separated by semicolons. The equal sign (=) connects each keyword and its + value. To include values that contain a semicolon, single-quote character, or + double-quote character, the value must be enclosed in double quotes. If the + value contains both a semicolon and a double-quote character, the value can be + enclosed in single quotes. The single quote is also useful if the value begins + with a double-quote character. Conversely, the double quote can be used if the + value begins with a single quote. If the value contains both single-quote and + double-quote characters, the quote character used to enclose the value must be + doubled each time it occurs within the value. + + + To include preceding or trailing spaces in the string value, the value must + be enclosed in either single quotes or double quotes. Any leading or trailing + spaces around integer, Boolean, or enumerated values are ignored, even if + enclosed in quotes. However, spaces within a string literal keyword or value are + preserved. Using .NET Framework version 1.1, single or double quotes may be used + within a connection string without using delimiters (for example, Data Source= + my'Server or Data Source= my"Server), unless a quote character is the first or + last character in the value. + + + To include an equal sign (=) in a keyword or value, it must be preceded by + another equal sign. For example, in the hypothetical connection string + + "key==word=value" + + the keyword is "key=word" and the value is "value". + + If a specific keyword in a keyword= value pair occurs multiple times in a + connection string, the last occurrence listed is used in the value set. + + Keywords are not case sensitive. + + The following table lists the valid names for keyword values within the + ConnectionString. + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefaultDescription
+ Connect Timeout -or- Connection Timeout + 15 + The length of time (in seconds) to wait for a connection to the server before + terminating the attempt and generating an error. +
+ Host -or- Server -or- Data Source -or- + DataSource -or- Address -or- Addr -or- + Network Address + localhost + + The name or network address of the instance of MySQL to which to connect. Multiple hosts can be + specified separated by &. This can be useful where multiple MySQL servers are configured for replication + and you are not concerned about the precise server you are connecting to. No attempt is made by the provider to + synchronize writes to the database so care should be taken when using this option. + + + In Unix environment with Mono, this can be a fully qualified path to MySQL socket filename. With this configuration, the Unix socket will be used instead of TCP/IP socket. + Currently only a single socket name can be given so accessing MySQL in a replicated environment using Unix sockets is not currently supported. + +
Port3306 + The port MySQL is using to listen for connections. This value is ignored if the connection protocol + is anything but socket. +
Protocolsocket + Specifies the type of connection to make to the server.Values can be: + socket or tcp for a socket connection
+ pipe for a named pipe connection
+ unix for a Unix socket connection
+ memory to use MySQL shared memory +
+ CharSet -or Character Set + + + Specifies the character set that should be used to encode all queries sent to the server. + Resultsets are still returned in the character set of the data returned. +
LoggingfalseWhen true, various pieces of information is output to any configured TraceListeners.
Allow Batchtrue + When true, multiple SQL statements can be sent with one command execution.

+ -Note-
+ Starting with MySQL 4.1.1, batch statements should be separated by the server-defined seperator character.
+ Commands sent to earlier versions of MySQL should be seperated with ';'. +
Encryptfalse + When true, SSL/TLS encryption is used for all data sent between the + client and server if the server has a certificate installed. Recognized values + are true, false, yes, and no. +
+ Initial Catalog -or- Database + mysqlThe name of the database to use intially
+ Password -or- pwd + + The password for the MySQL account being used.
Persist Security Infofalse + When set to false or no (strongly recommended), security-sensitive + information, such as the password, is not returned as part of the connection if + the connection is open or has ever been in an open state. Resetting the + connection string resets all connection string values including the password. + Recognized values are true, false, yes, and no. +
+ User Id -or- Username -or- Uid -or- User name + + The MySQL login account being used.
Shared Memory NameMYSQLThe name of the shared memory object to use for communication if the connection protocol is set to memory.
Allow Zero Datetimefalse + True to have MySqlDataReader.GetValue() return a MySqlDateTime for date or datetime columns that have illegal values. + False will cause a DateTime object to be returned for legal values and an exception will be thrown for illegal values. +
Convert Zero Datetimefalse + True to have MySqlDataReader.GetValue() and MySqlDataReader.GetDateTime() + return DateTime.MinValue for date or datetime columns that have illegal values. +
+ Pipe Name -or- Pipe + mysql + When set to the name of a named pipe, the MySqlConnection will attempt to connect to MySQL + on that named pipe.

This settings only applies to the Windows platform. +
+ Use Performance Monitor -or- UsePerformanceMonitor + false + Posts performance data that can be tracked using perfmon +
+ Procedure Cache Size + 25 + How many stored procedure definitions can be held in the cache +
+ Ignore Prepare + true + Instructs the provider to ignore any attempts to prepare commands. This option + was added to allow a user to disable prepared statements in an entire application + without modifying the code. A user might want to do this if errors or bugs are + encountered with MySQL prepared statements. +
Use Procedure Bodiestrue + Instructs the provider to attempt to call the procedure without first resolving the metadata. This + is useful in situations where the calling user does not have access to the mysql.proc table. To + use this mode, the parameters for the procedure must be added to the command in the same order + as they appear in the procedure definition and their types must be explicitly set. +
Auto Enlisttrue + Indicates whether the connection should automatically enlist in the current transaction, + if there is one. +
Respect Binary Flagstrue + Indicates whether the connection should respect all binary flags sent to the client + as part of column metadata. False will cause the connector to behave like + Connector/Net 5.0 and earlier. +
BlobAsUTF8IncludePatternnull + Pattern that should be used to indicate which blob columns should be treated as UTF-8. +
BlobAsUTF8ExcludePatternnull + Pattern that should be used to indicate which blob columns should not be treated as UTF-8. +
Default Command Timeout30 + The default timeout that new MySqlCommand objects will use unless changed. +
Allow User Variablesfalse + Should the provider expect user variables in the SQL. +
Interactive -or- Interactive Sessionfalse + Should this session be considered interactive? +
Functions Return Stringfalse + Set this option to true to force the return value of SQL functions to be string. +
Use Affected Rowsfalse + Set this option to true to cause the affected rows reported to reflect only the + rows that are actually changed. By default, the number of rows that are matched + is returned. +
+
+ + The following table lists the valid names for connection pooling values within + the ConnectionString. For more information about connection pooling, see + Connection Pooling for the MySql Data Provider. + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefaultDescription
Connection Lifetime0 + When a connection is returned to the pool, its creation time is compared with + the current time, and the connection is destroyed if that time span (in seconds) + exceeds the value specified by Connection Lifetime. This is useful in + clustered configurations to force load balancing between a running server and a + server just brought online. + + A value of zero (0) causes pooled connections to have the maximum connection + timeout. + +
Max Pool Size100The maximum number of connections allowed in the pool.
Min Pool Size0The minimum number of connections allowed in the pool.
Poolingtrue + When true, the MySqlConnection object is drawn from the appropriate + pool, or if necessary, is created and added to the appropriate pool. Recognized + values are true, false, yes, and no. +
Connection Resetfalse + Specifies whether the database connection should be reset when being + drawn from the pool. Leaving this as false will yeild much faster + connection opens but the user should understand the side effects + of doing this such as temporary tables and user variables from the previous + session not being cleared out. +
Cache Server Propertiesfalse + Specifies whether the server variables are cached between pooled connections. + On systems where the variables change infrequently and there are lots of + connection attempts, this can speed up things dramatically. +
+
+ + When setting keyword or connection pooling values that require a Boolean + value, you can use 'yes' instead of 'true', and 'no' instead of 'false'. + + + Note The MySql Data Provider uses the native socket protocol to + communicate with MySQL. Therefore, it does not support the use of an ODBC data source name (DSN) when + connecting to MySQL because it does not add an ODBC layer. + + + CAUTION In this release, the application should use caution when constructing a + connection string based on user input (for example when retrieving user ID and password information from a + dialog box, and appending it to the connection string). The application should + ensure that a user cannot embed extra connection string parameters in these + values (for example, entering a password as "validpassword;database=somedb" in + an attempt to attach to a different database). + +
+ The following example creates a and sets some of its properties + + Public Sub CreateConnection() + Dim myConnection As New MySqlConnection() + myConnection.ConnectionString = "Persist Security Info=False;database=myDB;server=myHost;Connect Timeout=30;user id=myUser; pwd=myPass" + myConnection.Open() + End Sub 'CreateConnection + + + public void CreateConnection() + { + MySqlConnection myConnection = new MySqlConnection(); + myConnection.ConnectionString = "Persist Security Info=False;database=myDB;server=myHost;Connect Timeout=30;user id=myUser; pwd=myPass"; + myConnection.Open(); + } + + + The following example creates a in Unix environment with Mono installed. MySQL socket filename used in this example is "/var/lib/mysql/mysql.sock". The actual filename depends on your MySQL configuration. + + Public Sub CreateConnection() + Dim myConnection As New MySqlConnection() + myConnection.ConnectionString = "database=myDB;server=/var/lib/mysql/mysql.sock;user id=myUser; pwd=myPass" + myConnection.Open() + End Sub 'CreateConnection + + + public void CreateConnection() + { + MySqlConnection myConnection = new MySqlConnection(); + myConnection.ConnectionString = "database=myDB;server=/var/lib/mysql/mysql.sock;user id=myUser; pwd=myPass"; + myConnection.Open(); + } + + +
+ + + Enlists in the specified transaction. + + + A reference to an existing in which to enlist. + + + + Begins a database transaction.An object representing the new transaction.Parallel transactions are not supported. + This command is equivalent to the MySQL BEGIN TRANSACTION command. + + You must explicitly commit or roll back the transaction using the or + method. + + If you do not specify an isolation level, the default isolation level is used. To specify an isolation + level with the method, use the overload that takes the iso parameter. Also + note that any attempt to begin a transaction while a transaction is in progress will throw an exception on MySQL 4.1 and higher. + On MySQL 4.0, an exception will not be thrown because servers 4.0 and earlier did not report their transacation status. + + + + The following example creates a and a + . It also demonstrates how to use the BeginTransaction, a + , and methods. + + Public Sub RunTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' Start a local transaction + myTrans = myConnection.BeginTransaction() + ' Must assign both transaction object and connection + ' to Command object for a pending local transaction + myCommand.Connection = myConnection + myCommand.Transaction = myTrans + + Try + myCommand.CommandText = "Insert into Test (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into Test (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Both records are written to database.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " + ex.GetType().ToString() + _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " + e.GetType().ToString() + _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + public void RunTransaction(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + + MySqlCommand myCommand = myConnection.CreateCommand(); + MySqlTransaction myTrans; + + // Start a local transaction + myTrans = myConnection.BeginTransaction(); + // Must assign both transaction object and connection + // to Command object for a pending local transaction + myCommand.Connection = myConnection; + myCommand.Transaction = myTrans; + + try + { + myCommand.CommandText = "insert into Test (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "insert into Test (id, desc) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (SqlException ex) + { + if (myTrans.Connection != null) + { + Console.WriteLine("An exception of type " + ex.GetType() + + " was encountered while attempting to roll back the transaction."); + } + } + + Console.WriteLine("An exception of type " + e.GetType() + + " was encountered while inserting the data."); + Console.WriteLine("Neither record was written to database."); + } + finally + { + myConnection.Close(); + } + } + + + + + Begins a database transaction with the specified isolation level.The isolation level under which the transaction should run. An object representing the new transaction.Parallel exceptions are not supported. + This command is equivalent to the MySQL BEGIN TRANSACTION command. + + You must explicitly commit or roll back the transaction using the or + method. + + If you do not specify an isolation level, the default isolation level is used. To specify an isolation + level with the method, use the overload that takes the iso parameter. + Also note that any attempt to begin a transaction while a transaction is in progress will throw an exception on MySQL 4.1 and higher. + On MySQL 4.0, an exception will not be thrown because servers 4.0 and earlier did not report their transacation status. + + + + The following example creates a and a + . It also demonstrates how to use the BeginTransaction, a + , and methods. + + Public Sub RunTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' Start a local transaction + myTrans = myConnection.BeginTransaction() + ' Must assign both transaction object and connection + ' to Command object for a pending local transaction + myCommand.Connection = myConnection + myCommand.Transaction = myTrans + + Try + myCommand.CommandText = "Insert into Test (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into Test (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Both records are written to database.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " + ex.GetType().ToString() + _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " + e.GetType().ToString() + _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + public void RunTransaction(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + + MySqlCommand myCommand = myConnection.CreateCommand(); + MySqlTransaction myTrans; + + // Start a local transaction + myTrans = myConnection.BeginTransaction(); + // Must assign both transaction object and connection + // to Command object for a pending local transaction + myCommand.Connection = myConnection; + myCommand.Transaction = myTrans; + + try + { + myCommand.CommandText = "insert into Test (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "insert into Test (id, desc) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (SqlException ex) + { + if (myTrans.Connection != null) + { + Console.WriteLine("An exception of type " + ex.GetType() + + " was encountered while attempting to roll back the transaction."); + } + } + + Console.WriteLine("An exception of type " + e.GetType() + + " was encountered while inserting the data."); + Console.WriteLine("Neither record was written to database."); + } + finally + { + myConnection.Close(); + } + } + + + + + Changes the current database for an open MySqlConnection.The name of the database to use. + + The value supplied in the database parameter must be a valid database + name. The database parameter cannot contain a null value, an empty + string, or a string with only blank characters. + + + + When you are using connection pooling against MySQL, and you close + the connection, it is returned to the connection pool. The next time the + connection is retrieved from the pool, the reset connection request + executes before the user performs any operations. + + The database name is not valid.The connection is not open.Cannot change the database. + The following example creates a and displays + some of its read-only properties. + + + Public Sub CreateMySqlConnection() + Dim myConnString As String = _ + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass" + Dim myConnection As New MySqlConnection( myConnString ) + myConnection.Open() + MessageBox.Show( "Server Version: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.ChangeDatabase( "test2" ) + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.NewLine + "Database: " + myConnection.Database ) + myConnection.Close() + End Sub + + + + public void CreateMySqlConnection() + { + string myConnString = + "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass"; + MySqlConnection myConnection = new MySqlConnection( myConnString ); + myConnection.Open(); + MessageBox.Show( "Server Version: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.ChangeDatabase( "test2" ); + MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion + + "\nDatabase: " + myConnection.Database ); + myConnection.Close(); + } + + + + + + Ping + + + + + Opens a database connection with the property settings specified by the ConnectionString.Cannot open a connection without specifying a data source or server.A connection-level error occurred while opening the connection. + + The draws an open connection from the connection pool if one is available. + Otherwise, it establishes a new connection to an instance of MySQL. + + + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + + Creates and returns a object associated with the . + + A object. + + + + + Creates a new MySqlConnection object with the exact same ConnectionString value + + A cloned MySqlConnection object + + + Closes the connection to the database. This is the preferred method of closing any open connection. + + The Close method rolls back any pending transactions. It then releases + the connection to the connection pool, or closes the connection if connection + pooling is disabled. + + + An application can call Close more than one time. No exception is + generated. + + + The following example creates a , opens it, + displays some of its properties, then closes the connection. + + + Public Sub CreateMySqlConnection(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + + ControlChars.Cr + "State: " + myConnection.State.ToString()) + myConnection.Close() + End Sub + + + public void CreateMySqlConnection(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + + "\nState: " + myConnection.State.ToString()); + myConnection.Close(); + } + + + + + + Sets query timeout. If timeout has been set prior and not + yet cleared ClearCommandTimeout(), it has no effect. + + timeout in seconds + true if + + + + Clears query timeout, allowing next SetCommandTimeout() to succeed. + + + + Empties the connection pool associated with the specified connection. + The associated with the pool to be cleared. + + + ClearPool clears the connection pool that is associated with the connection. + If additional connections associated with connection are in use at the time of the call, + they are marked appropriately and are discarded (instead of being returned to the pool) + when Close is called on them. + + + + + Clears all connection pools. + + ClearAllPools essentially performs a on all current connection + pools. + + + + + + Async version of BeginTransaction + + An object representing the new transaction. + + + + Async version of BeginTransaction + + The isolation level under which the transaction should run. + An object representing the new transaction. + + + + Async version of ChangeDataBase + + The name of the database to use. + + + + + Async version of Close + + + + + + Async version of ClearPool + + The connection associated with the pool to be cleared. + + + + + Async version of ClearAllPools + + + + + + Async version of GetSchemaCollection + + Name of the collection + Values to restrict + A schema collection + + + + Returns schema information for the data source of this . + + A that contains schema information. + + + + Returns schema information for the data source of this + using the specified string for the schema name. + + Specifies the name of the schema to return. + A that contains schema information. + + + + Returns schema information for the data source of this + using the specified string for the schema name and the specified string array + for the restriction values. + + Specifies the name of the schema to return. + Specifies a set of restriction values for the requested schema. + A that contains schema information. + + + + Represents the method that will handle the event of a + . + + + + + Provides data for the InfoMessage event. This class cannot be inherited. + + + + + + + + + + IDisposable wrapper around SetCommandTimeout and ClearCommandTimeout + functionality + + + + + Summary description for Crypt. + + + + + Simple XOR scramble + + Source array + Index inside source array + Destination array + Index inside destination array + Password used to xor the bits + Number of bytes to scramble + + + + Returns a byte array containing the proper encryption of the + given password/seed according to the new 4.1.1 authentication scheme. + + + + + + + + Encrypts a password using the MySql encryption scheme + + The password to encrypt + The encryption seed the server gave us + Indicates if we should use the old or new encryption scheme + + + + + Hashes a password using the algorithm from Monty's code. + The first element in the return is the result of the "old" hash. + The second element is the rest of the "new" hash. + + Password to be hashed + Two element array containing the hashed values + + + + Represents a set of data commands and a database connection that are used to fill a dataset and update a MySQL database. This class cannot be inherited. + + + The MySQLDataAdapter, serves as a bridge between a + and MySQL for retrieving and saving data. The MySQLDataAdapter provides this + bridge by mapping , which changes the data in the + DataSet to match the data in the data source, and , + which changes the data in the data source to match the data in the DataSet, + using the appropriate SQL statements against the data source. + + + When the MySQLDataAdapter fills a DataSet, it will create the necessary + tables and columns for the returned data if they do not already exist. However, primary + key information will not be included in the implicitly created schema unless the + property is set to . + You may also have the MySQLDataAdapter create the schema of the DataSet, + including primary key information, before filling it with data using . + + + MySQLDataAdapter is used in conjunction with + and to increase performance when connecting to a MySQL database. + + + The MySQLDataAdapter also includes the , + , , + , and + properties to facilitate the loading and updating of data. + + + When an instance of MySQLDataAdapter is created, the read/write properties + are set to initial values. For a list of these values, see the MySQLDataAdapter + constructor. + + + Please be aware that the class allows only + Int16, Int32, and Int64 to have the AutoIncrement property set. + If you plan to use autoincremement columns with MySQL, you should consider + using signed integer columns. + + + The following example creates a and a . + The MySqlConnection is opened and set as the for the + MySqlCommand. The example then calls , and closes + the connection. To accomplish this, the ExecuteNonQuery is + passed a connection string and a query string that is a SQL INSERT + statement. + + Public Function SelectRows(dataSet As DataSet, connection As String, query As String) As DataSet + Dim conn As New MySqlConnection(connection) + Dim adapter As New MySqlDataAdapter() + adapter.SelectCommand = new MySqlCommand(query, conn) + adapter.Fill(dataset) + Return dataset + End Function + + + public DataSet SelectRows(DataSet dataset,string connection,string query) + { + MySqlConnection conn = new MySqlConnection(connection); + MySqlDataAdapter adapter = new MySqlDataAdapter(); + adapter.SelectCommand = new MySqlCommand(query, conn); + adapter.Fill(dataset); + return dataset; + } + + + + + + Occurs during Update before a command is executed against the data source. The attempt to update is made, so the event fires. + + + + + Occurs during Update after a command is executed against the data source. The attempt to update is made, so the event fires. + + + + + Initializes a new instance of the MySqlDataAdapter class. + + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim conn As MySqlConnection = New MySqlConnection("Data Source=localhost;" & _ + "database=test") + Dim da As MySqlDataAdapter = New MySqlDataAdapter + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.SelectCommand = New MySqlCommand("SELECT id, name FROM mytable", conn) + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlConnection conn = new MySqlConnection("Data Source=localhost;database=test"); + MySqlDataAdapter da = new MySqlDataAdapter(); + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.SelectCommand = new MySqlCommand("SELECT id, name FROM mytable", conn); + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + Initializes a new instance of the class with + the specified as the + property. + + that is a SQL SELECT statement or stored procedure and is set + as the property of the . + + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + When SelectCommand (or any of the other command properties) is assigned + to a previously created , the MySqlCommand is not cloned. + The SelectCommand maintains a reference to the previously created MySqlCommand + object. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim conn As MySqlConnection = New MySqlConnection("Data Source=localhost;" & _ + "database=test") + Dim cmd as new MySqlCommand("SELECT id, name FROM mytable", conn) + Dim da As MySqlDataAdapter = New MySqlDataAdapter(cmd) + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlConnection conn = new MySqlConnection("Data Source=localhost;database=test"); + MySqlCommand cmd = new MySqlCommand("SELECT id, name FROM mytable", conn); + MySqlDataAdapter da = new MySqlDataAdapter(cmd); + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + Initializes a new instance of the class with + a and a object. + + A String that is a SQL SELECT statement or stored procedure to be used by + the property of the . + + A that represents the connection. + + + This implementation of the opens and closes a + if it is not already open. This can be useful in a an application that must call the + method for two or more MySqlDataAdapter objects. + If the MySqlConnection is already open, you must explicitly call + or to close it. + + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim conn As MySqlConnection = New MySqlConnection("Data Source=localhost;" & _ + "database=test") + Dim da As MySqlDataAdapter = New MySqlDataAdapter("SELECT id, name FROM mytable", conn) + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlConnection conn = new MySqlConnection("Data Source=localhost;database=test"); + MySqlDataAdapter da = new MySqlDataAdapter("SELECT id, name FROM mytable", conn); + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + Initializes a new instance of the class with + a and a connection string. + + A that is a SQL SELECT statement or stored procedure to + be used by the property of the . + The connection string + + When an instance of is created, + the following read/write properties are set to the following initial + values. + + + + Properties + Initial Value + + + + + + + MissingMappingAction.Passthrough + + + + + + + + MissingSchemaAction.Add + + + + + You can change the value of any of these properties through a separate call + to the property. + + + The following example creates a and sets some of + its properties. + + Public Sub CreateSqlDataAdapter() + Dim da As MySqlDataAdapter = New MySqlDataAdapter("SELECT id, name FROM mytable", "Data Source=localhost;database=test") + Dim conn As MySqlConnection = da.SelectCommand.Connection + da.MissingSchemaAction = MissingSchemaAction.AddWithKey + + da.InsertCommand = New MySqlCommand("INSERT INTO mytable (id, name) " & _ + "VALUES (@id, @name)", conn) + da.UpdateCommand = New MySqlCommand("UPDATE mytable SET id=@id, name=@name " & _ + "WHERE id=@oldId", conn) + da.DeleteCommand = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name") + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original + End Sub + + + public static void CreateSqlDataAdapter() + { + MySqlDataAdapter da = new MySqlDataAdapter("SELECT id, name FROM mytable", "Data Source=localhost;database=test"); + MySqlConnection conn = da.SelectCommand.Connection; + da.MissingSchemaAction = MissingSchemaAction.AddWithKey; + + da.InsertCommand = new MySqlCommand("INSERT INTO mytable (id, name) " + + "VALUES (@id, @name)", conn); + da.UpdateCommand = new MySqlCommand("UPDATE mytable SET id=@id, name=@name " + + "WHERE id=@oldId", conn); + da.DeleteCommand = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + da.InsertCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.InsertCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + + da.UpdateCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + da.UpdateCommand.Parameters.Add("@name", MySqlDbType.VarChar, 40, "name"); + da.UpdateCommand.Parameters.Add("@oldId", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + + da.DeleteCommand.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id").SourceVersion = DataRowVersion.Original; + } + + + + + + Gets or sets a SQL statement or stored procedure used to delete records from the data set. + + A used during to delete records in the + database that correspond to deleted rows in the . + + + During , if this property is not set and primary key information + is present in the , the DeleteCommand can be generated + automatically if you set the property and use the + . Then, any additional commands that you do not set are + generated by the MySqlCommandBuilder. This generation logic requires key column + information to be present in the DataSet. + + + When DeleteCommand is assigned to a previously created , + the MySqlCommand is not cloned. The DeleteCommand maintains a reference + to the previously created MySqlCommand object. + + + The following example creates a and sets the + and DeleteCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the DeleteCommand. + cmd = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) + + parm = cmd.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") + parm.SourceVersion = DataRowVersion.Original + + da.DeleteCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the DeleteCommand. + cmd = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); + + parm = cmd.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); + parm.SourceVersion = DataRowVersion.Original; + + da.DeleteCommand = cmd; + + return da; + } + + + + + + Gets or sets a SQL statement or stored procedure used to insert records into the data set. + + A used during to insert records into the + database that correspond to new rows in the . + + + During , if this property is not set and primary key information + is present in the , the InsertCommand can be generated + automatically if you set the property and use the + . Then, any additional commands that you do not set are + generated by the MySqlCommandBuilder. This generation logic requires key column + information to be present in the DataSet. + + + When InsertCommand is assigned to a previously created , + the MySqlCommand is not cloned. The InsertCommand maintains a reference + to the previously created MySqlCommand object. + + + If execution of this command returns rows, these rows may be added to the DataSet + depending on how you set the property of the MySqlCommand object. + + + The following example creates a and sets the + and InsertCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the InsertCommand. + cmd = New MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id, @name)", conn) + + cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) + cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) + da.InsertCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the InsertCommand. + cmd = new MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id,@name)", conn); + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); + + da.InsertCommand = cmd; + + return da; + } + + + + + + Gets or sets a SQL statement or stored procedure used to select records in the data source. + + A used during to select records from the + database for placement in the . + + + When SelectCommand is assigned to a previously created , + the MySqlCommand is not cloned. The SelectCommand maintains a reference to the + previously created MySqlCommand object. + + + If the SelectCommand does not return any rows, no tables are added to the + , and no exception is raised. + + + The following example creates a and sets the + and InsertCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the InsertCommand. + cmd = New MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id, @name)", conn) + + cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) + cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) + da.InsertCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the InsertCommand. + cmd = new MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id,@name)", conn); + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); + + da.InsertCommand = cmd; + + return da; + } + + + + + + Gets or sets a SQL statement or stored procedure used to updated records in the data source. + + A used during to update records in the + database with data from the . + + + During , if this property is not set and primary key information + is present in the , the UpdateCommand can be generated + automatically if you set the property and use the + . Then, any additional commands that you do not set are + generated by the MySqlCommandBuilder. This generation logic requires key column + information to be present in the DataSet. + + + When UpdateCommand is assigned to a previously created , + the MySqlCommand is not cloned. The UpdateCommand maintains a reference + to the previously created MySqlCommand object. + + + If execution of this command returns rows, these rows may be merged with the DataSet + depending on how you set the property of the MySqlCommand object. + + + The following example creates a and sets the + and UpdateCommand properties. It assumes you have already + created a object. + + Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter + + Dim da As MySqlDataAdapter = New MySqlDataAdapter() + Dim cmd As MySqlCommand + Dim parm As MySqlParameter + + ' Create the SelectCommand. + cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) + + da.SelectCommand = cmd + + ' Create the UpdateCommand. + cmd = New MySqlCommand("UPDATE mytable SET id=@id, name=@name WHERE id=@oldId", conn) + + cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) + cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) + + parm = cmd.Parameters.Add("@oldId", MySqlDbType.VarChar, 15, "id") + parm.SourceVersion = DataRowVersion.Original + + da.UpdateCommand = cmd + + Return da + End Function + + + public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) + { + MySqlDataAdapter da = new MySqlDataAdapter(); + MySqlCommand cmd; + MySqlParameter parm; + + // Create the SelectCommand. + cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); + + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); + + da.SelectCommand = cmd; + + // Create the UpdateCommand. + cmd = new MySqlCommand("UPDATE mytable SET id=@id, name=@name WHERE id=@oldId", conn); + cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); + cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); + + parm = cmd.Parameters.Add( "@oldId", MySqlDbType.VarChar, 15, "id" ); + parm.SourceVersion = DataRowVersion.Original; + + da.UpdateCommand = cmd; + + return da; + } + + + + + + Open connection if it was closed. + Necessary to workaround "connection must be open and valid" error + with batched updates. + + Row state + list of opened connections + If connection is opened by this function, the list is updated + + true if connection was opened + + + + Overridden. See . + + + + + + + + + + Overridden. See . + + + + + + + + + + Overridden. Raises the RowUpdating event. + + A MySqlRowUpdatingEventArgs that contains the event data. + + + + Overridden. Raises the RowUpdated event. + + A MySqlRowUpdatedEventArgs that contains the event data. + + + + Async version of Fill + + Dataset to use + int + + + + Async version of Fill + + Datatable to use + int + + + + Async version of Fill + + DataSet to use + Source table + int + + + + Async version of Fill + + Datatable to use + DataReader to use + int + + + + Async version of Fill + + DataTable to use + DbCommand to use + Command Behavior + int + + + + Async version of Fill + + Start record + Max records + DataTable[] to use + int + + + + Async version of Fill + + DataSet to use + Start record + Max records + Source table + int + + + + Async version of Fill + + DataSet to use + Source table + DataReader to use + Start record + Max records + + + + + Async version of Fill + + DataTable[] to use + Start record + Max records + DbCommand to use + Command Behavior + + + + + Async version of Fill + + DataSet to use + Start record + Max records + Source table + DbCommand to use + Command Behavior + + + + + Async version of FillSchema + + DataSet to use + Schema Type + DataTable[] + + + + Async version of FillSchema + + DataSet to use + Schema Type + Source Table + DataTable[] + + + + Async version of FillSchema + + DataSet to use + Schema Type + Source Table + DataReader to use + DataTable[] + + + + Async version of FillSchema + + DataSet to use + Schema Type + DBCommand to use + Source Table + Command Behavior + DataTable[] + + + + Async version of FillSchema + + DataTable to use + Schema Type + DataTable + + + + Async version of FillSchema + + DataTable to use + Schema Type + DataReader to use + DataTable + + + + Async version of FillSchema + + DataTable to use + Schema Type + DBCommand to use + Command Behavior + DataTable + + + + Async version of Update + + DataRow[] to use + int + + + + Async version of Update + + DataSet to use + int + + + + Async version of Update + + DataTable to use + int + + + + Async version of Update + + DataRow[] to use + Data Table Mapping + int + + + + Async version of Update + + DataSet to use + Source Table + + + + + Represents the method that will handle the event of a . + + + + + Represents the method that will handle the event of a . + + + + + Provides data for the RowUpdating event. This class cannot be inherited. + + + + + Initializes a new instance of the MySqlRowUpdatingEventArgs class. + + The to + . + The to execute during . + One of the values that specifies the type of query executed. + The sent through an . + + + + Gets or sets the MySqlCommand to execute when performing the Update. + + + + + Provides data for the RowUpdated event. This class cannot be inherited. + + + + + Initializes a new instance of the MySqlRowUpdatedEventArgs class. + + The sent through an . + The executed when is called. + One of the values that specifies the type of query executed. + The sent through an . + + + + Gets or sets the MySqlCommand executed when Update is called. + + + + + Provides a means of reading a forward-only stream of rows from a MySQL database. This class cannot be inherited. + + + To create a MySQLDataReader, you must call the + method of the object, rather than directly using a constructor. + + + While the MySqlDataReader is in use, the associated + is busy serving the MySqlDataReader, and no other operations can be performed + on the MySqlConnection other than closing it. This is the case until the + method of the MySqlDataReader is called. + + + and + are the only properties that you can call after the MySqlDataReader is + closed. Though the RecordsAffected property may be accessed at any time + while the MySqlDataReader exists, always call Close before returning + the value of RecordsAffected to ensure an accurate return value. + + + For optimal performance, MySqlDataReader avoids creating + unnecessary objects or making unnecessary copies of data. As a result, multiple calls + to methods such as return a reference to the + same object. Use caution if you are modifying the underlying value of the objects + returned by methods such as GetValue. + + + The following example creates a , + a , and a MySqlDataReader. The example reads through + the data, writing it out to the console. Finally, the example closes the MySqlDataReader, then the + MySqlConnection. + + Public Sub ReadMyData(myConnString As String) + Dim mySelectQuery As String = "SELECT OrderID, CustomerID FROM Orders" + Dim myConnection As New MySqlConnection(myConnString) + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + myConnection.Open() + Dim myReader As MySqlDataReader + myReader = myCommand.ExecuteReader() + ' Always call Read before accessing data. + While myReader.Read() + Console.WriteLine((myReader.GetInt32(0) & ", " & myReader.GetString(1))) + End While + ' always call Close when done reading. + myReader.Close() + ' Close the connection when done with it. + myConnection.Close() + End Sub 'ReadMyData + + + public void ReadMyData(string myConnString) { + string mySelectQuery = "SELECT OrderID, CustomerID FROM Orders"; + MySqlConnection myConnection = new MySqlConnection(myConnString); + MySqlCommand myCommand = new MySqlCommand(mySelectQuery,myConnection); + myConnection.Open(); + MySqlDataReader myReader; + myReader = myCommand.ExecuteReader(); + // Always call Read before accessing data. + while (myReader.Read()) { + Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1)); + } + // always call Close when done reading. + myReader.Close(); + // Close the connection when done with it. + myConnection.Close(); + } + + + + + + Gets the number of columns in the current row. + + + + + Gets a value indicating whether the MySqlDataReader contains one or more rows. + + + + + Gets a value indicating whether the data reader is closed. + + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + + + + + Overloaded. Gets the value of a column in its native format. + In C#, this property is the indexer for the MySqlDataReader class. + + + + + Gets the value of a column in its native format. + [C#] In C#, this property is the indexer for the MySqlDataReader class. + + + + + Closes the MySqlDataReader object. + + + + + Gets the value of the specified column as a Boolean. + + + + + + + Gets the value of the specified column as a Boolean. + + + + + + + Gets the value of the specified column as a byte. + + + + + + + Gets the value of the specified column as a byte. + + + + + + + Gets the value of the specified column as a sbyte. + + + + + + + Gets the value of the specified column as a sbyte. + + + + + + + Reads a stream of bytes from the specified column offset into the buffer an array starting at the given buffer offset. + + The zero-based column ordinal. + The index within the field from which to begin the read operation. + The buffer into which to read the stream of bytes. + The index for buffer to begin the read operation. + The maximum length to copy into the buffer. + The actual number of bytes read. + + + + + Gets the value of the specified column as a single character. + + + + + + + Gets the value of the specified column as a single character. + + + + + + + Reads a stream of characters from the specified column offset into the buffer as an array starting at the given buffer offset. + + + + + + + + + + + Gets the name of the source data type. + + + + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a DateTime object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a DateTime object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a DateTime object. + + + Call IsDBNull to check for null values before calling this method. + + + + MySql allows date columns to contain the value '0000-00-00' and datetime + columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain + or represent these values. To read a datetime value from a column that might + contain zero values, use . + + + The behavior of reading a zero datetime column using this method is defined by the + ZeroDateTimeBehavior connection string option. For more information on this option, + please refer to . + + + The column name.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a DateTime object. + + + Call IsDBNull to check for null values before calling this method. + + + + MySql allows date columns to contain the value '0000-00-00' and datetime + columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain + or represent these values. To read a datetime value from a column that might + contain zero values, use . + + + The behavior of reading a zero datetime column using this method is defined by the + ZeroDateTimeBehavior connection string option. For more information on this option, + please refer to . + + + The zero-based column ordinal.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a Decimal object. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a Decimal object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinalThe value of the specified column. + + + Gets the value of the specified column as a double-precision floating point number. + + No conversions are performed; therefore, the data retrieved must already be a Double object. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe value of the specified column. + + + Gets the value of the specified column as a double-precision floating point number. + + No conversions are performed; therefore, the data retrieved must already be a Double object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + + Gets the Type that is the data type of the object. + + + + + + + Gets the value of the specified column as a single-precision floating point number. + + + No conversions are performed; therefore, the data retrieved must already be a Float object. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe value of the specified column. + + + + Gets the value of the specified column as a single-precision floating point number. + + + No conversions are performed; therefore, the data retrieved must already be a Float object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + + + + + + + Gets the value of the specified column as a 16-bit signed integer. + + No conversions are performed; threfore, the data retrieved must already be a 16 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The column nameThe value of the specified column. + + + Gets the value of the specified column as a 16-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 16 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + Gets the value of the specified column as a 32-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 32 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The column name.The value of the specified column. + + + Gets the value of the specified column as a 32-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 32 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + Gets the value of the specified column as a 64-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 64 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The column name.The value of the specified column. + + + Gets the value of the specified column as a 64-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a 64 bit integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + + Gets the name of the specified column. + + + + + + + Gets the column ordinal, given the name of the column. + + + + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a String object. + + + Call IsDBNull to check for null values before calling this method. + + The column name.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a String object. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a Time value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a Time value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets the value of the specified column in its native format. + + + + + + + Gets all attribute columns in the collection for the current row. + + + + + + Gets the value of the specified column as a 16-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 16 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + Gets the value of the specified column as a 16-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 16 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + Gets the value of the specified column as a 32-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 32 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + Gets the value of the specified column as a 32-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 32 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + Gets the value of the specified column as a 64-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 64 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + Gets the value of the specified column as a 64-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a 64 bit unsigned integer value. + + + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal or column name.The value of the specified column. + + + + Gets a value indicating whether the column contains non-existent or missing values. + + + + + + + Advances the data reader to the next result, when reading the results of batch SQL statements. + + + + + + Advances the MySqlDataReader to the next record. + + + + + + Gets a value indicating the depth of nesting for the current row. This method is not + supported currently and always returns 0. + + + + + Returns a DataTable that describes the column metadata of the MySqlDataReader. + + + + + + Returns an that iterates through the . + + + + + + Summary description for BaseDriver. + + + + + For pooled connections, time when the driver was + put into idle queue + + + + + Loads the properties from the connected server into a hashtable + + + + + + + Loads all the current character set names and ids for this server + into the charSets hashtable + + + + + The exception that is thrown when MySQL returns an error. This class cannot be inherited. + + + + This class is created whenever the MySql Data Provider encounters an error generated from the server. + + + Any open connections are not automatically closed when an exception is thrown. If + the client application determines that the exception is fatal, it should close any open + objects or objects. + + + The following example generates a MySqlException due to a missing server, + and then displays the exception. + + + Public Sub ShowException() + Dim mySelectQuery As String = "SELECT column1 FROM table1" + Dim myConnection As New MySqlConnection ("Data Source=localhost;Database=Sample;") + Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) + + Try + myCommand.Connection.Open() + Catch e As MySqlException + MessageBox.Show( e.Message ) + End Try + End Sub + + + public void ShowException() + { + string mySelectQuery = "SELECT column1 FROM table1"; + MySqlConnection myConnection = + new MySqlConnection("Data Source=localhost;Database=Sample;"); + MySqlCommand myCommand = new MySqlCommand(mySelectQuery,myConnection); + + try + { + myCommand.Connection.Open(); + } + catch (MySqlException e) + { + MessageBox.Show( e.Message ); + } + } + + + + + + Gets a number that identifies the type of error. + + + + + True if this exception was fatal and cause the closing of the connection, false otherwise. + + + + + Gets or sets the name of the server. + + The server. + + + + Gets or sets the name of the database the connection should + initially connect to. + + + + + Gets or sets the protocol that should be used for communicating + with MySQL. + + + + + Gets or sets the name of the named pipe that should be used + for communicating with MySQL. + + + + + Gets or sets a boolean value that indicates whether this connection + should use compression. + + + + + Gets or sets a boolean value that indicates whether this connection will allow + commands to send multiple SQL statements in one execution. + + + + + Gets or sets a boolean value that indicates whether logging is enabled. + + + + + Gets or sets the base name of the shared memory objects used to + communicate with MySQL when the shared memory protocol is being used. + + + + + Gets or sets a boolean value that indicates whether this connection uses + the old style (@) parameter markers or the new (?) style. + + + + + Gets or sets the port number that is used when the socket + protocol is being used. + + + + + Gets or sets the connection timeout. + + + + + Gets or sets the default command timeout. + + + + + Gets or sets the user id that should be used to connect with. + + + + + Gets or sets the password that should be used to connect with. + + + + + Gets or sets a boolean value that indicates if the password should be persisted + in the connection string. + + + + + Gets or sets a boolean value that indicates if zero date time values are supported. + + + + + Gets or sets a boolean value indicating if zero datetime values should be + converted to DateTime.MinValue. + + + + + Gets or sets a boolean value indicating if the Usage Advisor should be enabled. + + + + + Gets or sets the size of the stored procedure cache. + + + + + Gets or sets a boolean value indicating if the permon hooks should be enabled. + + + + + Gets or sets a boolean value indicating if calls to Prepare() should be ignored. + + + + + Gets or sets the lifetime of a pooled connection. + + + + + Gets or sets a boolean value indicating if connection pooling is enabled. + + + + + Gets the minimum connection pool size. + + + + + Gets or sets the maximum connection pool setting. + + + + + Gets or sets a boolean value indicating if the connection should be reset when retrieved + from the pool. + + + + + Gets or sets the character set that should be used for sending queries to the server. + + + + + Indicates whether the driver should treat binary blobs as UTF8 + + + + + Gets or sets the pattern that matches the columns that should be treated as UTF8 + + + + + Gets or sets the pattern that matches the columns that should not be treated as UTF8 + + + + + Indicates whether to use SSL connections and how to handle server certificate errors. + + + + + Represents a parameter to a , and optionally, its mapping to columns. This class cannot be inherited. + + + + + Initializes a new instance of the class with the parameter name, the , the size, and the source column name. + + The name of the parameter to map. + One of the values. + The length of the parameter. + The name of the source column. + + + + Initializes a new instance of the class with the parameter name, the type of the parameter, the size of the parameter, a , the precision of the parameter, the scale of the parameter, the source column, a to use, and the value of the parameter. + + The name of the parameter to map. + One of the values. + The length of the parameter. + One of the values. + true if the value of the field can be null, otherwise false. + The total number of digits to the left and right of the decimal point to which is resolved. + The total number of decimal places to which is resolved. + The name of the source column. + One of the values. + An that is the value of the . + + + + + Gets or sets the to use when loading . + + + + + Gets or sets the name of the source column that is mapped to the and used for loading or returning the . + + + + + Resets the DbType property to its original settings. + + + + + Sets or gets a value which indicates whether the source column is nullable. + This allows to correctly generate Update statements + for nullable columns. + + + + + Gets or sets the of the parameter. + + + + + Initializes a new instance of the class with the parameter name and a value of the new MySqlParameter. + + The name of the parameter to map. + An that is the value of the . + + + + Initializes a new instance of the class with the parameter name and the data type. + + The name of the parameter to map. + One of the values. + + + + Initializes a new instance of the class with the parameter name, the , and the size. + + The name of the parameter to map. + One of the values. + The length of the parameter. + + + + Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. + As of MySql version 4.1 and earlier, input-only is the only valid choice. + + + + + Gets or sets a value indicating whether the parameter accepts null values. + + + + + Gets or sets the MySqlDbType of the parameter. + + + + + Gets or sets the maximum number of digits used to represent the property. + + + + + Gets or sets the number of decimal places to which is resolved. + + + + + Gets or sets the maximum size, in bytes, of the data within the column. + + + + + Gets or sets the value of the parameter. + + + + + Returns the possible values for this parameter if this parameter is of type + SET or ENUM. Returns null otherwise. + + + + + Overridden. Gets a string containing the . + + + + + + Represents a collection of parameters relevant to a as well as their respective mappings to columns in a . This class cannot be inherited. + + + The number of the parameters in the collection must be equal to the number of + parameter placeholders within the command text, or an exception will be generated. + + The following example creates multiple instances of + through the MySqlParameterCollection collection within the . + These parameters are used to select data within the data source and place the data in + the . This code assumes that a DataSet and a MySqlDataAdapter + have already been created with the appropriate schema, commands, and connection. + + Public Sub AddParameters() + ' ... + ' create myDataSet and myDataAdapter + ' ... + myDataAdapter.SelectCommand.Parameters.Add("@CategoryName", MySqlDbType.VarChar, 80).Value = "toasters" + myDataAdapter.SelectCommand.Parameters.Add("@SerialNum", MySqlDbType.Long).Value = 239 + + myDataAdapter.Fill(myDataSet) + End Sub 'AddSqlParameters + + + public void AddSqlParameters() + { + // ... + // create myDataSet and myDataAdapter + // ... + + myDataAdapter.SelectCommand.Parameters.Add("@CategoryName", MySqlDbType.VarChar, 80).Value = "toasters"; + myDataAdapter.SelectCommand.Parameters.Add("@SerialNum", MySqlDbType.Long).Value = 239; + myDataAdapter.Fill(myDataSet); + + } + + + + + + Adds a to the with the parameter name, the data type, the column length, and the source column name. + + The name of the parameter. + One of the values. + The length of the column. + The name of the source column. + The newly added object. + + + + Adds an array of values to the end of the . + + + + + + Retrieve the parameter with the given name. + + + + + + + Adds the specified object to the . + + The to add to the collection. + The index of the new object. + + + + Gets a value indicating whether a with the specified parameter name exists in the collection. + + The name of the object to find. + true if the collection contains the parameter; otherwise, false. + + + + Gets a value indicating whether a MySqlParameter exists in the collection. + + The value of the object to find. + true if the collection contains the object; otherwise, false. + Gets a value indicating whether a exists in the collection. + + + + Copies MySqlParameter objects from the MySqlParameterCollection to the specified array. + + + + + + + Returns an enumerator that iterates through the . + + + + + + Inserts a MySqlParameter into the collection at the specified index. + + + + + + + Gets a value that indicates whether the + has a fixed size. + + + + + Gets a value that indicates whether the + is read-only. + + + + + Gets a value that indicates whether the + is synchronized. + + + + + Removes the specified MySqlParameter from the collection. + + + + + + Removes the specified from the collection using the parameter name. + + The name of the object to retrieve. + + + + Removes the specified from the collection using a specific index. + + The zero-based index of the parameter. + Removes the specified from the collection. + + + + Gets an object that can be used to synchronize access to the + . + + + + + Gets the number of MySqlParameter objects in the collection. + + + + + Gets the at the specified index. + + Gets the with a specified attribute. + [C#] In C#, this property is the indexer for the class. + + + + + Gets the with the specified name. + + + + + Adds the specified object to the . + + The to add to the collection. + The newly added object. + + + + Adds a to the given the specified parameter name and value. + + The name of the parameter. + The of the to add to the collection. + The newly added object. + + + + Adds a to the given the parameter name and the data type. + + The name of the parameter. + One of the values. + The newly added object. + + + + Adds a to the with the parameter name, the data type, and the column length. + + The name of the parameter. + One of the values. + The length of the column. + The newly added object. + + + + Removes all items from the collection. + + + + + Gets the location of the in the collection with a specific parameter name. + + The name of the object to retrieve. + The zero-based location of the in the collection. + + + + Gets the location of a in the collection. + + The object to locate. + The zero-based location of the in the collection. + Gets the location of a in the collection. + + + + This method will update all the items in the index hashes when + we insert a parameter somewhere in the middle + + + + + + + Represents a SQL transaction to be made in a MySQL database. This class cannot be inherited. + + The application creates a MySqlTransaction object by calling + on the object. All subsequent operations associated with the + transaction (for example, committing or aborting the transaction), are performed on the + MySqlTransaction object. + + The following example creates a and a MySqlTransaction. + It also demonstrates how to use the , + , and methods. + + Public Sub RunTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' Start a local transaction + myTrans = myConnection.BeginTransaction() + ' Must assign both transaction object and connection + ' to Command object for a pending local transaction + myCommand.Connection = myConnection + myCommand.Transaction = myTrans + + Try + myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Both records are written to database.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " & e.GetType().ToString() & _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub 'RunTransaction + + + public void RunTransaction(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + + MySqlCommand myCommand = myConnection.CreateCommand(); + MySqlTransaction myTrans; + + // Start a local transaction + myTrans = myConnection.BeginTransaction(); + // Must assign both transaction object and connection + // to Command object for a pending local transaction + myCommand.Connection = myConnection; + myCommand.Transaction = myTrans; + + try + { + myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (MySqlException ex) + { + if (myTrans.Connection != null) + { + Console.WriteLine("An exception of type " + ex.GetType() + + " was encountered while attempting to roll back the transaction."); + } + } + + Console.WriteLine("An exception of type " + e.GetType() + + " was encountered while inserting the data."); + Console.WriteLine("Neither record was written to database."); + } + finally + { + myConnection.Close(); + } + } + + + + + + Gets the object associated with the transaction, or a null reference (Nothing in Visual Basic) if the transaction is no longer valid. + + The object associated with this transaction. + + A single application may have multiple database connections, each + with zero or more transactions. This property enables you to + determine the connection object associated with a particular + transaction created by . + + + + + Specifies the for this transaction. + + + The for this transaction. The default is ReadCommitted. + + + Parallel transactions are not supported. Therefore, the IsolationLevel + applies to the entire transaction. + + + + + Commits the database transaction. + + The Commit method is equivalent to the MySQL SQL statement + COMMIT. + + The following example creates a and a + . It also demonstrates how to use the + , , and Rollback + methods. + + Public Sub RunSqlTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' Start a local transaction + myTrans = myConnection.BeginTransaction() + + ' Must assign both transaction object and connection + ' to Command object for a pending local transaction + myCommand.Connection = myConnection + myCommand.Transaction = myTrans + + Try + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Success.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " & e.GetType().ToString() & _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + public void RunSqlTransaction(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + + MySqlCommand myCommand = myConnection.CreateCommand(); + MySqlTransaction myTrans; + + // Start a local transaction + myTrans = myConnection.BeginTransaction(); + // Must assign both transaction object and connection + // to Command object for a pending local transaction + myCommand.Connection = myConnection; + myCommand.Transaction = myTrans; + + try + { + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (MySqlException ex) + { + if (myTrans.Connection != null) + { + Console.WriteLine("An exception of type " + ex.GetType() + + " was encountered while attempting to roll back the transaction."); + } + } + + Console.WriteLine("An exception of type " + e.GetType() + + " was encountered while inserting the data."); + Console.WriteLine("Neither record was written to database."); + } + finally + { + myConnection.Close(); + } + } + + + + + + Rolls back a transaction from a pending state. + + The Rollback method is equivalent to the MySQL statement ROLLBACK. + The transaction can only be rolled back from a pending state + (after BeginTransaction has been called, but before Commit is + called). + + The following example creates a and a + . It also demonstrates how to use the + , , and Rollback + methods. + + Public Sub RunSqlTransaction(myConnString As String) + Dim myConnection As New MySqlConnection(myConnString) + myConnection.Open() + + Dim myCommand As MySqlCommand = myConnection.CreateCommand() + Dim myTrans As MySqlTransaction + + ' Start a local transaction + myTrans = myConnection.BeginTransaction() + + ' Must assign both transaction object and connection + ' to Command object for a pending local transaction + myCommand.Connection = myConnection + myCommand.Transaction = myTrans + + Try + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')" + myCommand.ExecuteNonQuery() + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')" + myCommand.ExecuteNonQuery() + myTrans.Commit() + Console.WriteLine("Success.") + Catch e As Exception + Try + myTrans.Rollback() + Catch ex As MySqlException + If Not myTrans.Connection Is Nothing Then + Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ + " was encountered while attempting to roll back the transaction.") + End If + End Try + + Console.WriteLine("An exception of type " & e.GetType().ToString() & _ + "was encountered while inserting the data.") + Console.WriteLine("Neither record was written to database.") + Finally + myConnection.Close() + End Try + End Sub + + + public void RunSqlTransaction(string myConnString) + { + MySqlConnection myConnection = new MySqlConnection(myConnString); + myConnection.Open(); + + MySqlCommand myCommand = myConnection.CreateCommand(); + MySqlTransaction myTrans; + + // Start a local transaction + myTrans = myConnection.BeginTransaction(); + // Must assign both transaction object and connection + // to Command object for a pending local transaction + myCommand.Connection = myConnection; + myCommand.Transaction = myTrans; + + try + { + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')"; + myCommand.ExecuteNonQuery(); + myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')"; + myCommand.ExecuteNonQuery(); + myTrans.Commit(); + Console.WriteLine("Both records are written to database."); + } + catch(Exception e) + { + try + { + myTrans.Rollback(); + } + catch (MySqlException ex) + { + if (myTrans.Connection != null) + { + Console.WriteLine("An exception of type " + ex.GetType() + + " was encountered while attempting to roll back the transaction."); + } + } + + Console.WriteLine("An exception of type " + e.GetType() + + " was encountered while inserting the data."); + Console.WriteLine("Neither record was written to database."); + } + finally + { + myConnection.Close(); + } + } + + + + + + Summary description for Field. + + + + + We are adding a custom installer class to our assembly so our installer + can make proper changes to the machine.config file. + + + + + We override Install so we can add our assembly to the proper + machine.config files. + + + + + + We override Uninstall so we can remove out assembly from the + machine.config files. + + + + + + BaseCommandInterceptor is the base class that should be used for all userland + command interceptors + + + + + CommandInterceptor is the "manager" class that keeps the list of registered interceptors + for the given connection. + + + + + Interceptor is the base class for the "manager" classes such as ExceptionInterceptor, + CommandInterceptor, etc + + + + + BaseExceptionInterceptor is the base class that should be used for all userland + exception interceptors + + + + + StandardExceptionInterceptor is the standard interceptor that simply throws the exception. + It is the default action. + + + + + ExceptionInterceptor is the "manager" class that keeps the list of registered interceptors + for the given connection. + + + + + Return schema information about procedures and functions + Restrictions supported are: + schema, name, type + + + + + + + Return schema information about parameters for procedures and functions + Restrictions supported are: + schema, name, type, parameter name + + + + + Initializes a new row for the procedure parameters table. + + + + + Parses out the elements of a procedure parameter data type. + + + + + Implementation of memcached binary client protocol. + + According to http://code.google.com/p/memcached/wiki/BinaryProtocolRevamped + + + + Sends an store command (add, replace, set). + + + + + + + + + + Sends a get command. + + + + + + + + + Sends a delete command. + + + + + + + + + Sends a command without args (like flush). + + + + + + + + + Sends a command with amount (INCR/DECR) + + + + + + + + + + The base exception class for all Memcached exceptions. + + + + + Implementation of the Memcached text client protocol. + + + + + + + Send a command to memcached server. + + + + + + This version is for commands that don't need flags neither expiration fields. + + + + Sends a command to the server. + + + + This version is for commands that only require a key + + + + + + An interface of the client memcached protocol. This class is abstract for + implementation of the Memcached client interface see for the + text protocol version and for the binary protocol version. + + + + + The port used by the connection. + + + + + The server DNS or IP address used by the connection. + + + + + The network stream used by the connecition. + + + + + Factory method for creating instances of that implement a connection with the requested features. + The connection object returned must be explicitely opened see method . + + The Memcached server DNS or IP address. + The port for the Memcached server + A set of flags indicating characterestics requested. + An instance of a client connection ready to be used. + + + + Opens the client connection. + + + + + Closes the client connection. + + + + + Adds a new key/value pair with the given TimeSpan expiration. + + The key for identifying the entry. + The data to associate with the key. + The interval of timespan, use TimeSpan.Zero for no expiration. + + + + Appens the data to the existing data for the associated key. + + The key for identifying the entry. + The data to append with the data associated with the key. + + + + Executes the Check-and-set Memcached operation. + + The key for identifying the entry. + The data to use in the CAS. + The interval of timespan, use TimeSpan.Zero for no expiration. + The CAS unique value to use. + + + + + Decrements the value associated with a key by the given amount. + + The key associated with the value to decrement. + The amount to decrement the value. + + + + Removes they pair key/value given the specified key. + + + + + + Removes all entries from the storage, effectively invalidating the whole cache. + + The interval after which the cache will be cleaned. Can be TimeSpan.Zero for immediately. + + + + Get the key/value pair associated with a given key. + + The key for which to returm the key/value. + The key/value associated with the key or a MemcachedException if it does not exists. + + + + Increments the value associated with a key by the given amount. + + The key associated with the value to increment. + The amount to increment the value. + + + + Prepends the data to the existing data for the associated key. + + The key for identifying the entry. + The data to append with the data associated with the key. + + + + Replaces the value associated with the given key with another value. + + The key for identifying the entry. + The data to replace the value associated with the key. + The interval of timespan, use TimeSpan.Zero for no expiration. + + + + Set the value of a given key. + + The key for identifying the entry. + The data to associate with the given key. + The interval of timespan, use TimeSpan.Zero for no expiration. + + + + A set of flags for requesting new instances of connections + + + + + Requests a connection implememting the text protocol. + + + + + Requests a connection implementing the binary protocol. + + + + + Requests a TCP connection. Currently UDP is not supported. + + + + + DBProviderFactory implementation for MysqlClient. + + + + + Gets an instance of the . + This can be used to retrieve strongly typed data objects. + + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbCommandBuilder. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbCommand. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbConnection. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbDataAdapter. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbParameter. + + + + Returns a strongly typed instance. + + A new strongly typed instance of DbConnectionStringBuilder. + + + + Returns true if a MySqlDataSourceEnumerator can be created; + otherwise false. + + + + + Provide a simple caching layer + + + + + Adds a new connection string with set of restricted keywords to the MySqlClientPermission object + + Settings to be used for the connection + Keywords to define the restrictions + KeyRestrictionBehavior to be used + + + + Returns MySqlClientPermission as an IPermission + + + + + + + + + + + + + + + + + + + + + + Summary description for ClientParam. + + + + + DB Operations Code + + + + + Specifies MySQL specific data type of a field, property, for use in a . + + + + + + A fixed precision and scale numeric value between -1038 + -1 and 10 38 -1. + + + + + The signed range is -128 to 127. The unsigned + range is 0 to 255. + + + + + A 16-bit signed integer. The signed range is + -32768 to 32767. The unsigned range is 0 to 65535 + + + + + Specifies a 24 (3 byte) signed or unsigned value. + + + + + A 32-bit signed integer + + + + + A 64-bit signed integer. + + + + + A small (single-precision) floating-point + number. Allowable values are -3.402823466E+38 to -1.175494351E-38, + 0, and 1.175494351E-38 to 3.402823466E+38. + + + + + A normal-size (double-precision) + floating-point number. Allowable values are -1.7976931348623157E+308 + to -2.2250738585072014E-308, 0, and 2.2250738585072014E-308 to + 1.7976931348623157E+308. + + + + + A timestamp. The range is '1970-01-01 00:00:00' to sometime in the + year 2037 + + + + + Date The supported range is '1000-01-01' to '9999-12-31'. + + + + + Time The range is '-838:59:59' to '838:59:59'. + + + + + DateTime The supported range is '1000-01-01 00:00:00' to + '9999-12-31 23:59:59'. + + + + + Datetime The supported range is '1000-01-01 00:00:00' to + '9999-12-31 23:59:59'. + + + + + A year in 2- or 4-digit format (default is 4-digit). The + allowable values are 1901 to 2155, 0000 in the 4-digit year + format, and 1970-2069 if you use the 2-digit format (70-69). + + + + + Obsolete Use Datetime or Date type + + + + + A variable-length string containing 0 to 65535 characters + + + + + Bit-field data type + + + + + JSON + + + + + New Decimal + + + + + An enumeration. A string object that can have only one value, + chosen from the list of values 'value1', 'value2', ..., NULL + or the special "" error value. An ENUM can have a maximum of + 65535 distinct values + + + + + A set. A string object that can have zero or more values, each + of which must be chosen from the list of values 'value1', 'value2', + ... A SET can have a maximum of 64 members. + + + + + A binary column with a maximum length of 255 (2^8 - 1) + characters + + + + + A binary column with a maximum length of 16777215 (2^24 - 1) bytes. + + + + + A binary column with a maximum length of 4294967295 or + 4G (2^32 - 1) bytes. + + + + + A binary column with a maximum length of 65535 (2^16 - 1) bytes. + + + + + A variable-length string containing 0 to 255 bytes. + + + + + A fixed-length string. + + + + + Geometric (GIS) data type. + + + + + Unsigned 8-bit value. + + + + + Unsigned 16-bit value. + + + + + Unsigned 24-bit value. + + + + + Unsigned 32-bit value. + + + + + Unsigned 64-bit value. + + + + + Fixed length binary string. + + + + + Variable length binary string. + + + + + A text column with a maximum length of 255 (2^8 - 1) characters. + + + + + A text column with a maximum length of 16777215 (2^24 - 1) characters. + + + + + A text column with a maximum length of 4294967295 or + 4G (2^32 - 1) characters. + + + + + A text column with a maximum length of 65535 (2^16 - 1) characters. + + + + + A guid column + + + + + Allows the user to specify the type of connection that should + be used. + + + + + TCP/IP style connection. Works everywhere. + + + + + Named pipe connection. Works only on Windows systems. + + + + + Unix domain socket connection. Works only with Unix systems. + + + + + Shared memory connection. Currently works only with Windows systems. + + + + + SSL options for connection. + + + + + Do not use SSL. + + + + + Use SSL, if server supports it. + + + + + Always use SSL. Deny connection if server does not support SSL. + Do not perform server certificate validation. + + + + + Always use SSL. Validate server SSL certificate, but different host name mismatch. + + + + + Always use SSL and perform full certificate validation. + + + + + Specifies the connection types supported + + + + + Use TCP/IP sockets. + + + + + Use client library. + + + + + Use MySQL embedded server. + + + + + Do not use certificate store + + + + + Use certificate store for the current user + + + + + User certificate store for the machine + + + + + Collection of error codes that can be returned by the server + + + + + + + + + + + Error level + + + + + Error code + + + + + Error message + + + + + Provides a reference to error codes returned by MySQL. + + + + + ER_HASHCHK + + + + ER_NISAMCHK + + + + ER_NO + + + + ER_YES + + + The file couldn't be created. + ER_CANT_CREATE_FILE + + + The table couldn't be created. + ER_CANT_CREATE_TABLE + + + The database couldn't be created. + ER_CANT_CREATE_DB + + + The database couldn't be created, it already exists. + ER_DB_CREATE_EXISTS + + + The database couldn't be dropped, it doesn't exist. + ER_DB_DROP_EXISTS + + + The database couldn't be dropped, the file can't be deleted. + ER_DB_DROP_DELETE + + + The database couldn't be dropped, the directory can't be deleted. + ER_DB_DROP_RMDIR + + + The file couldn't be deleted. + ER_CANT_DELETE_FILE + + + The record couldn't be read from the system table. + ER_CANT_FIND_SYSTEM_REC + + + The status couldn't be retrieved. + ER_CANT_GET_STAT + + + The working directory couldn't be retrieved. + ER_CANT_GET_WD + + + The file couldn't be locked. + ER_CANT_LOCK + + + The file couldn't be opened. + ER_CANT_OPEN_FILE + + + The file couldn't be found. + ER_FILE_NOT_FOUND + + + The directory couldn't be read. + ER_CANT_READ_DIR + + + The working directory couldn't be entered. + ER_CANT_SET_WD + + + The record changed since it was last read. + ER_CHECKREAD + + + The disk is full. + ER_DISK_FULL + + + + There is already a key with the given values. + + + + An error occurred when closing the file. + ER_ERROR_ON_CLOSE + + + An error occurred when reading from the file. + ER_ERROR_ON_READ + + + An error occurred when renaming then file. + ER_ERROR_ON_RENAME + + + An error occurred when writing to the file. + ER_ERROR_ON_WRITE + + + The file is in use. + ER_FILE_USED + + + Sorting has been aborted. + ER_FILSORT_ABORT + + + The view doesn't exist. + ER_FORM_NOT_FOUND + + + Got the specified error from the table storage engine. + ER_GET_ERRNO + + + The table storage engine doesn't support the specified option. + ER_ILLEGAL_HA + + + + The specified key was not found. + + + + The file contains incorrect information. + ER_NOT_FORM_FILE + + + The key file is incorrect for the table, it should be repaired. + ER_NOT_KEYFILE + + + The key file is old for the table, it should be repaired. + ER_OLD_KEYFILE + + + The table is read-only + ER_OPEN_AS_READONLY + + + The server is out of memory, it should be restarted. + ER_OUTOFMEMORY + + + The server is out of sort-memory, the sort buffer size should be increased. + ER_OUT_OF_SORTMEMORY + + + An unexpected EOF was found when reading from the file. + ER_UNEXPECTED_EOF + + + Too many connections are open. + ER_CON_COUNT_ERROR + + + The server is out of resources, check if MySql or some other process is using all available memory. + ER_OUT_OF_RESOURCES + + + + Given when the connection is unable to successfully connect to host. + + + + The handshake was invalid. + ER_HANDSHAKE_ERROR + + + Access was denied for the specified user using the specified database. + ER_DBACCESS_DENIED_ERROR + + + + Normally returned when an incorrect password is given + + + + No database has been selected. + ER_NO_DB_ERROR + + + The command is unknown. + ER_UNKNOWN_COM_ERROR + + + The specified column cannot be NULL. + ER_BAD_NULL_ERROR + + + The specified database is not known. + + + The specified table already exists. + ER_TABLE_EXISTS_ERROR + + + The specified table is unknown. + ER_BAD_TABLE_ERROR + + + The specified column is ambiguous. + ER_NON_UNIQ_ERROR + + + The server is currently being shutdown. + ER_SERVER_SHUTDOWN + + + The specified columns is unknown. + ER_BAD_FIELD_ERROR + + + The specified column isn't in GROUP BY. + ER_WRONG_FIELD_WITH_GROUP + + + The specified columns cannot be grouped on. + ER_WRONG_GROUP_FIELD + + + There are sum functions and columns in the same statement. + ER_WRONG_SUM_SELECT + + + The column count doesn't match the value count. + ER_WRONG_VALUE_COUNT + + + The identifier name is too long. + ER_TOO_LONG_IDENT + + + The column name is duplicated. + ER_DUP_FIELDNAME + + + + Duplicate Key Name + + + + + Duplicate Key Entry + + + + The column specifier is incorrect. + ER_WRONG_FIELD_SPEC + + + An error occurred when parsing the statement. + ER_PARSE_ERROR + + + The statement is empty. + ER_EMPTY_QUERY + + + The table alias isn't unique. + ER_NONUNIQ_TABLE + + + The default value is invalid for the specified field. + ER_INVALID_DEFAULT + + + The table has multiple primary keys defined. + ER_MULTIPLE_PRI_KEY + + + Too many keys were defined for the table. + ER_TOO_MANY_KEYS + + + Too many parts to the keys were defined for the table. + ER_TOO_MANY_KEY_PARTS + + + The specified key is too long + ER_TOO_LONG_KEY + + + The specified key column doesn't exist in the table. + ER_KEY_COLUMN_DOES_NOT_EXITS + + + The BLOB column was used as a key, this can't be done. + ER_BLOB_USED_AS_KEY + + + The column length is too big for the specified column type. + ER_TOO_BIG_FIELDLENGTH + + + There can only be one auto-column, and it must be defined as a PK. + ER_WRONG_AUTO_KEY + + + The server is ready to accept connections. + ER_READY + + + + ER_NORMAL_SHUTDOWN + + + The server received the specified signal and is aborting. + ER_GOT_SIGNAL + + + The server shutdown is complete. + ER_SHUTDOWN_COMPLETE + + + The server is forcing close of the specified thread. + ER_FORCING_CLOSE + + + An error occurred when creating the IP socket. + ER_IPSOCK_ERROR + + + The table has no index like the one used in CREATE INDEX. + ER_NO_SUCH_INDEX + + + The field separator argument is not what is expected, check the manual. + ER_WRONG_FIELD_TERMINATORS + + + The BLOB columns must terminated, fixed row lengths cannot be used. + ER_BLOBS_AND_NO_TERMINATED + + + The text file cannot be read. + ER_TEXTFILE_NOT_READABLE + + + The specified file already exists. + ER_FILE_EXISTS_ERROR + + + Information returned by the LOAD statement. + ER_LOAD_INFO + + + Information returned by an UPDATE statement. + ER_ALTER_INFO + + + The prefix key is incorrect. + ER_WRONG_SUB_KEY + + + All columns cannot be removed from a table, use DROP TABLE instead. + ER_CANT_REMOVE_ALL_FIELDS + + + Cannot DROP, check that the column or key exists. + ER_CANT_DROP_FIELD_OR_KEY + + + Information returned by an INSERT statement. + ER_INSERT_INFO + + + The target table cannot be specified for update in FROM clause. + ER_UPDATE_TABLE_USED + + + The specified thread ID is unknown. + ER_NO_SUCH_THREAD + + + The thread cannot be killed, the current user is not the owner. + ER_KILL_DENIED_ERROR + + + No tables used in the statement. + ER_NO_TABLES_USED + + + Too many string have been used for the specified column and SET. + ER_TOO_BIG_SET + + + A unique filename couldn't be generated. + ER_NO_UNIQUE_LOGFILE + + + The specified table was locked with a READ lock, and can't be updated. + ER_TABLE_NOT_LOCKED_FOR_WRITE + + + The specified table was not locked with LOCK TABLES. + ER_TABLE_NOT_LOCKED + + + BLOB and Text columns cannot have a default value. + ER_BLOB_CANT_HAVE_DEFAULT + + + The specified database name is incorrect. + ER_WRONG_DB_NAME + + + The specified table name is incorrect. + ER_WRONG_TABLE_NAME + + + The SELECT command would examine more than MAX_JOIN_SIZE rows, check the WHERE clause and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is ok. + ER_TOO_BIG_SELECT + + + An unknown error occurred. + ER_UNKNOWN_ERROR + + + The specified procedure is unknown. + ER_UNKNOWN_PROCEDURE + + + The number of parameters provided for the specified procedure is incorrect. + ER_WRONG_PARAMCOUNT_TO_PROCEDURE + + + The parameters provided for the specified procedure are incorrect. + ER_WRONG_PARAMETERS_TO_PROCEDURE + + + The specified table is unknown. + ER_UNKNOWN_TABLE + + + The specified column has been specified twice. + ER_FIELD_SPECIFIED_TWICE + + + The group function has been incorrectly used. + ER_INVALID_GROUP_FUNC_USE + + + The specified table uses an extension that doesn't exist in this MySQL version. + ER_UNSUPPORTED_EXTENSION + + + The table must have at least one column. + ER_TABLE_MUST_HAVE_COLUMNS + + + The specified table is full. + ER_RECORD_FILE_FULL + + + The specified character set is unknown. + ER_UNKNOWN_CHARACTER_SET + + + Too many tables, MySQL can only use the specified number of tables in a JOIN. + ER_TOO_MANY_TABLES + + + Too many columns + ER_TOO_MANY_FIELDS + + + The row size is too large, the maximum row size for the used tables (not counting BLOBS) is specified, change some columns or BLOBS. + ER_TOO_BIG_ROWSIZE + + + A thread stack overrun occurred. Stack statistics are specified. + ER_STACK_OVERRUN + + + A cross dependency was found in the OUTER JOIN, examine the ON conditions. + ER_WRONG_OUTER_JOIN + + + The table handler doesn't support NULL in the given index, change specified column to be NOT NULL or use another handler. + ER_NULL_COLUMN_IN_INDEX + + + The specified user defined function cannot be loaded. + ER_CANT_FIND_UDF + + + The specified user defined function cannot be initialised. + ER_CANT_INITIALIZE_UDF + + + No paths are allowed for the shared library. + ER_UDF_NO_PATHS + + + The specified user defined function already exists. + ER_UDF_EXISTS + + + The specified shared library cannot be opened. + ER_CANT_OPEN_LIBRARY + + + The specified symbol cannot be found in the library. + ER_CANT_FIND_DL_ENTRY + + + The specified function is not defined. + ER_FUNCTION_NOT_DEFINED + + + The specified host is blocked because of too many connection errors, unblock with 'mysqladmin flush-hosts'. + ER_HOST_IS_BLOCKED + + + + The given host is not allowed to connect + + + + + The anonymous user is not allowed to connect + + + + + The given password is not allowed + + + + + The given password does not match + + + + Information returned by an UPDATE statement. + ER_UPDATE_INFO + + + A new thread couldn't be created. + ER_CANT_CREATE_THREAD + + + The column count doesn't match the value count. + ER_WRONG_VALUE_COUNT_ON_ROW + + + The specified table can't be re-opened. + ER_CANT_REOPEN_TABLE + + + The NULL value has been used incorrectly. + ER_INVALID_USE_OF_NULL + + + The regular expression contains an error. + ER_REGEXP_ERROR + + + GROUP columns (MIN(), MAX(), COUNT(), ...) cannot be mixes with no GROUP columns if there is not GROUP BY clause. + ER_MIX_OF_GROUP_FUNC_AND_FIELDS + + + + ER_NONEXISTING_GRANT + + + + ER_TABLEACCESS_DENIED_ERROR + + + + ER_COLUMNACCESS_DENIED_ERROR + + + + ER_ILLEGAL_GRANT_FOR_TABLE + + + + ER_GRANT_WRONG_HOST_OR_USER + + + + ER_NO_SUCH_TABLE + + + + ER_NONEXISTING_TABLE_GRANT + + + + ER_NOT_ALLOWED_COMMAND + + + + ER_SYNTAX_ERROR + + + + ER_DELAYED_CANT_CHANGE_LOCK + + + + ER_TOO_MANY_DELAYED_THREADS + + + + ER_ABORTING_CONNECTION + + + + An attempt was made to send or receive a packet larger than + max_allowed_packet_size + + + + + ER_NET_READ_ERROR_FROM_PIPE + + + + ER_NET_FCNTL_ERROR + + + + ER_NET_PACKETS_OUT_OF_ORDER + + + + ER_NET_UNCOMPRESS_ERROR + + + + ER_NET_READ_ERROR + + + + ER_NET_READ_INTERRUPTED + + + + ER_NET_ERROR_ON_WRITE + + + + ER_NET_WRITE_INTERRUPTED + + + + ER_TOO_LONG_STRING + + + + ER_TABLE_CANT_HANDLE_BLOB + + + + ER_TABLE_CANT_HANDLE_AUTO_INCREMENT + + + + ER_DELAYED_INSERT_TABLE_LOCKED + + + + ER_WRONG_COLUMN_NAME + + + + ER_WRONG_KEY_COLUMN + + + + ER_WRONG_MRG_TABLE + + + + ER_DUP_UNIQUE + + + + ER_BLOB_KEY_WITHOUT_LENGTH + + + + ER_PRIMARY_CANT_HAVE_NULL + + + + ER_TOO_MANY_ROWS + + + + ER_REQUIRES_PRIMARY_KEY + + + + ER_NO_RAID_COMPILED + + + + ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE + + + + ER_KEY_DOES_NOT_EXITS + + + + ER_CHECK_NO_SUCH_TABLE + + + + ER_CHECK_NOT_IMPLEMENTED + + + + ER_CANT_DO_THIS_DURING_AN_TRANSACTION + + + + ER_ERROR_DURING_COMMIT + + + + ER_ERROR_DURING_ROLLBACK + + + + ER_ERROR_DURING_FLUSH_LOGS + + + + ER_ERROR_DURING_CHECKPOINT + + + + ER_NEW_ABORTING_CONNECTION + + + + ER_DUMP_NOT_IMPLEMENTED + + + + ER_FLUSH_MASTER_BINLOG_CLOSED + + + + ER_INDEX_REBUILD + + + + ER_MASTER + + + + ER_MASTER_NET_READ + + + + ER_MASTER_NET_WRITE + + + + ER_FT_MATCHING_KEY_NOT_FOUND + + + + ER_LOCK_OR_ACTIVE_TRANSACTION + + + + ER_UNKNOWN_SYSTEM_VARIABLE + + + + ER_CRASHED_ON_USAGE + + + + ER_CRASHED_ON_REPAIR + + + + ER_WARNING_NOT_COMPLETE_ROLLBACK + + + + ER_TRANS_CACHE_FULL + + + + ER_SLAVE_MUST_STOP + + + + ER_SLAVE_NOT_RUNNING + + + + ER_BAD_SLAVE + + + + ER_MASTER_INFO + + + + ER_SLAVE_THREAD + + + + ER_TOO_MANY_USER_CONNECTIONS + + + + ER_SET_CONSTANTS_ONLY + + + + ER_LOCK_WAIT_TIMEOUT + + + + ER_LOCK_TABLE_FULL + + + + ER_READ_ONLY_TRANSACTION + + + + ER_DROP_DB_WITH_READ_LOCK + + + + ER_CREATE_DB_WITH_READ_LOCK + + + + ER_WRONG_ARGUMENTS + + + + ER_NO_PERMISSION_TO_CREATE_USER + + + + ER_UNION_TABLES_IN_DIFFERENT_DIR + + + + ER_LOCK_DEADLOCK + + + + ER_TABLE_CANT_HANDLE_FT + + + + ER_CANNOT_ADD_FOREIGN + + + + ER_NO_REFERENCED_ROW + + + + ER_ROW_IS_REFERENCED + + + + ER_CONNECT_TO_MASTER + + + + ER_QUERY_ON_MASTER + + + + ER_ERROR_WHEN_EXECUTING_COMMAND + + + + ER_WRONG_USAGE + + + + ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT + + + + ER_CANT_UPDATE_WITH_READLOCK + + + + ER_MIXING_NOT_ALLOWED + + + + ER_DUP_ARGUMENT + + + + ER_USER_LIMIT_REACHED + + + + ER_SPECIFIC_ACCESS_DENIED_ERROR + + + + ER_LOCAL_VARIABLE + + + + ER_GLOBAL_VARIABLE + + + + ER_NO_DEFAULT + + + + ER_WRONG_VALUE_FOR_VAR + + + + ER_WRONG_TYPE_FOR_VAR + + + + ER_VAR_CANT_BE_READ + + + + ER_CANT_USE_OPTION_HERE + + + + ER_NOT_SUPPORTED_YET + + + + ER_MASTER_FATAL_ERROR_READING_BINLOG + + + + ER_SLAVE_IGNORED_TABLE + + + + ER_INCORRECT_GLOBAL_LOCAL_VAR + + + + ER_WRONG_FK_DEF + + + + ER_KEY_REF_DO_NOT_MATCH_TABLE_REF + + + + ER_OPERAND_COLUMNS + + + + ER_SUBQUERY_NO_1_ROW + + + + ER_UNKNOWN_STMT_HANDLER + + + + ER_CORRUPT_HELP_DB + + + + ER_CYCLIC_REFERENCE + + + + ER_AUTO_CONVERT + + + + ER_ILLEGAL_REFERENCE + + + + ER_DERIVED_MUST_HAVE_ALIAS + + + + ER_SELECT_REDUCED + + + + ER_TABLENAME_NOT_ALLOWED_HERE + + + + ER_NOT_SUPPORTED_AUTH_MODE + + + + ER_SPATIAL_CANT_HAVE_NULL + + + + ER_COLLATION_CHARSET_MISMATCH + + + + ER_SLAVE_WAS_RUNNING + + + + ER_SLAVE_WAS_NOT_RUNNING + + + + ER_TOO_BIG_FOR_UNCOMPRESS + + + + ER_ZLIB_Z_MEM_ERROR + + + + ER_ZLIB_Z_BUF_ERROR + + + + ER_ZLIB_Z_DATA_ERROR + + + + ER_CUT_VALUE_GROUP_CONCAT + + + + ER_WARN_TOO_FEW_RECORDS + + + + ER_WARN_TOO_MANY_RECORDS + + + + ER_WARN_NULL_TO_NOTNULL + + + + ER_WARN_DATA_OUT_OF_RANGE + + + + WARN_DATA_TRUNCATED + + + + ER_WARN_USING_OTHER_HANDLER + + + + ER_CANT_AGGREGATE_2COLLATIONS + + + + ER_DROP_USER + + + + ER_REVOKE_GRANTS + + + + ER_CANT_AGGREGATE_3COLLATIONS + + + + ER_CANT_AGGREGATE_NCOLLATIONS + + + + ER_VARIABLE_IS_NOT_STRUCT + + + + ER_UNKNOWN_COLLATION + + + + ER_SLAVE_IGNORED_SSL_PARAMS + + + + ER_SERVER_IS_IN_SECURE_AUTH_MODE + + + + ER_WARN_FIELD_RESOLVED + + + + ER_BAD_SLAVE_UNTIL_COND + + + + ER_MISSING_SKIP_SLAVE + + + + ER_UNTIL_COND_IGNORED + + + + ER_WRONG_NAME_FOR_INDEX + + + + ER_WRONG_NAME_FOR_CATALOG + + + + ER_WARN_QC_RESIZE + + + + ER_BAD_FT_COLUMN + + + + ER_UNKNOWN_KEY_CACHE + + + + ER_WARN_HOSTNAME_WONT_WORK + + + + ER_UNKNOWN_STORAGE_ENGINE + + + + ER_WARN_DEPRECATED_SYNTAX + + + + ER_NON_UPDATABLE_TABLE + + + + ER_FEATURE_DISABLED + + + + ER_OPTION_PREVENTS_STATEMENT + + + + ER_DUPLICATED_VALUE_IN_TYPE + + + + ER_TRUNCATED_WRONG_VALUE + + + + ER_TOO_MUCH_AUTO_TIMESTAMP_COLS + + + + ER_INVALID_ON_UPDATE + + + + ER_UNSUPPORTED_PS + + + + ER_GET_ERRMSG + + + + ER_GET_TEMPORARY_ERRMSG + + + + ER_UNKNOWN_TIME_ZONE + + + + ER_WARN_INVALID_TIMESTAMP + + + + ER_INVALID_CHARACTER_STRING + + + + ER_WARN_ALLOWED_PACKET_OVERFLOWED + + + + ER_CONFLICTING_DECLARATIONS + + + + ER_SP_NO_RECURSIVE_CREATE + + + + ER_SP_ALREADY_EXISTS + + + + ER_SP_DOES_NOT_EXIST + + + + ER_SP_DROP_FAILED + + + + ER_SP_STORE_FAILED + + + + ER_SP_LILABEL_MISMATCH + + + + ER_SP_LABEL_REDEFINE + + + + ER_SP_LABEL_MISMATCH + + + + ER_SP_UNINIT_VAR + + + + ER_SP_BADSELECT + + + + ER_SP_BADRETURN + + + + ER_SP_BADSTATEMENT + + + + ER_UPDATE_LOG_DEPRECATED_IGNORED + + + + ER_UPDATE_LOG_DEPRECATED_TRANSLATED + + + + ER_QUERY_INTERRUPTED + + + + ER_SP_WRONG_NO_OF_ARGS + + + + ER_SP_COND_MISMATCH + + + + ER_SP_NORETURN + + + + ER_SP_NORETURNEND + + + + ER_SP_BAD_CURSOR_QUERY + + + + ER_SP_BAD_CURSOR_SELECT + + + + ER_SP_CURSOR_MISMATCH + + + + ER_SP_CURSOR_ALREADY_OPEN + + + + ER_SP_CURSOR_NOT_OPEN + + + + ER_SP_UNDECLARED_VAR + + + + ER_SP_WRONG_NO_OF_FETCH_ARGS + + + + ER_SP_FETCH_NO_DATA + + + + ER_SP_DUP_PARAM + + + + ER_SP_DUP_VAR + + + + ER_SP_DUP_COND + + + + ER_SP_DUP_CURS + + + + ER_SP_CANT_ALTER + + + + ER_SP_SUBSELECT_NYI + + + + ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG + + + + ER_SP_VARCOND_AFTER_CURSHNDLR + + + + ER_SP_CURSOR_AFTER_HANDLER + + + + ER_SP_CASE_NOT_FOUND + + + + ER_FPARSER_TOO_BIG_FILE + + + + ER_FPARSER_BAD_HEADER + + + + ER_FPARSER_EOF_IN_COMMENT + + + + ER_FPARSER_ERROR_IN_PARAMETER + + + + ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER + + + + ER_VIEW_NO_EXPLAIN + + + + ER_FRM_UNKNOWN_TYPE + + + + ER_WRONG_OBJECT + + + + ER_NONUPDATEABLE_COLUMN + + + + ER_VIEW_SELECT_DERIVED + + + + ER_VIEW_SELECT_CLAUSE + + + + ER_VIEW_SELECT_VARIABLE + + + + ER_VIEW_SELECT_TMPTABLE + + + + ER_VIEW_WRONG_LIST + + + + ER_WARN_VIEW_MERGE + + + + ER_WARN_VIEW_WITHOUT_KEY + + + + ER_VIEW_INVALID + + + + ER_SP_NO_DROP_SP + + + + ER_SP_GOTO_IN_HNDLR + + + + ER_TRG_ALREADY_EXISTS + + + + ER_TRG_DOES_NOT_EXIST + + + + ER_TRG_ON_VIEW_OR_TEMP_TABLE + + + + ER_TRG_CANT_CHANGE_ROW + + + + ER_TRG_NO_SUCH_ROW_IN_TRG + + + + ER_NO_DEFAULT_FOR_FIELD + + + + ER_DIVISION_BY_ZERO + + + + ER_TRUNCATED_WRONG_VALUE_FOR_FIELD + + + + ER_ILLEGAL_VALUE_FOR_TYPE + + + + ER_VIEW_NONUPD_CHECK + + + + ER_VIEW_CHECK_FAILED + + + + ER_PROCACCESS_DENIED_ERROR + + + + ER_RELAY_LOG_FAIL + + + + ER_PASSWD_LENGTH + + + + ER_UNKNOWN_TARGET_BINLOG + + + + ER_IO_ERR_LOG_INDEX_READ + + + + ER_BINLOG_PURGE_PROHIBITED + + + + ER_FSEEK_FAIL + + + + ER_BINLOG_PURGE_FATAL_ERR + + + + ER_LOG_IN_USE + + + + ER_LOG_PURGE_UNKNOWN_ERR + + + + ER_RELAY_LOG_INIT + + + + ER_NO_BINARY_LOGGING + + + + ER_RESERVED_SYNTAX + + + + ER_WSAS_FAILED + + + + ER_DIFF_GROUPS_PROC + + + + ER_NO_GROUP_FOR_PROC + + + + ER_ORDER_WITH_PROC + + + + ER_LOGGING_PROHIBIT_CHANGING_OF + + + + ER_NO_FILE_MAPPING + + + + ER_WRONG_MAGIC + + + + ER_PS_MANY_PARAM + + + + ER_KEY_PART_0 + + + + ER_VIEW_CHECKSUM + + + + ER_VIEW_MULTIUPDATE + + + + ER_VIEW_NO_INSERT_FIELD_LIST + + + + ER_VIEW_DELETE_MERGE_VIEW + + + + ER_CANNOT_USER + + + + ER_XAER_NOTA + + + + ER_XAER_INVAL + + + + ER_XAER_RMFAIL + + + + ER_XAER_OUTSIDE + + + + ER_XAER_RMERR + + + + ER_XA_RBROLLBACK + + + + ER_NONEXISTING_PROC_GRANT + + + + ER_PROC_AUTO_GRANT_FAIL + + + + ER_PROC_AUTO_REVOKE_FAIL + + + + ER_DATA_TOO_LONG + + + + ER_SP_BAD_SQLSTATE + + + + ER_STARTUP + + + + ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR + + + + ER_CANT_CREATE_USER_WITH_GRANT + + + + ER_WRONG_VALUE_FOR_TYPE + + + + ER_TABLE_DEF_CHANGED + + + + ER_SP_DUP_HANDLER + + + + ER_SP_NOT_VAR_ARG + + + + ER_SP_NO_RETSET + + + + ER_CANT_CREATE_GEOMETRY_OBJECT + + + + ER_FAILED_ROUTINE_BREAK_BINLOG + + + + ER_BINLOG_UNSAFE_ROUTINE + + + + ER_BINLOG_CREATE_ROUTINE_NEED_SUPER + + + + ER_EXEC_STMT_WITH_OPEN_CURSOR + + + + ER_STMT_HAS_NO_OPEN_CURSOR + + + + ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG + + + + ER_NO_DEFAULT_FOR_VIEW_FIELD + + + + ER_SP_NO_RECURSION + + + + ER_TOO_BIG_SCALE + + + + ER_TOO_BIG_PRECISION + + + + ER_M_BIGGER_THAN_D + + + + ER_WRONG_LOCK_OF_SYSTEM_TABLE + + + + ER_CONNECT_TO_FOREIGN_DATA_SOURCE + + + + ER_QUERY_ON_FOREIGN_DATA_SOURCE + + + + ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST + + + + ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE + + + + ER_FOREIGN_DATA_STRING_INVALID + + + + ER_CANT_CREATE_FEDERATED_TABLE + + + + ER_TRG_IN_WRONG_SCHEMA + + + + ER_STACK_OVERRUN_NEED_MORE + + + + ER_TOO_LONG_BODY + + + + ER_WARN_CANT_DROP_DEFAULT_KEYCACHE + + + + ER_TOO_BIG_DISPLAYWIDTH + + + + ER_XAER_DUPID + + + + ER_DATETIME_FUNCTION_OVERFLOW + + + + ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG + + + + ER_VIEW_PREVENT_UPDATE + + + + ER_PS_NO_RECURSION + + + + ER_SP_CANT_SET_AUTOCOMMIT + + + + ER_MALFORMED_DEFINER + + + + ER_VIEW_FRM_NO_USER + + + + ER_VIEW_OTHER_USER + + + + ER_NO_SUCH_USER + + + + ER_FORBID_SCHEMA_CHANGE + + + + ER_ROW_IS_REFERENCED_2 + + + + ER_NO_REFERENCED_ROW_2 + + + + ER_SP_BAD_VAR_SHADOW + + + + ER_TRG_NO_DEFINER + + + + ER_OLD_FILE_FORMAT + + + + ER_SP_RECURSION_LIMIT + + + + ER_SP_PROC_TABLE_CORRUPT + + + + ER_SP_WRONG_NAME + + + + ER_TABLE_NEEDS_UPGRADE + + + + ER_SP_NO_AGGREGATE + + + + ER_MAX_PREPARED_STMT_COUNT_REACHED + + + + ER_VIEW_RECURSIVE + + + + ER_NON_GROUPING_FIELD_USED + + + + ER_TABLE_CANT_HANDLE_SPKEYS + + + + ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA + + + + ER_REMOVED_SPACES + + + + ER_AUTOINC_READ_FAILED + + + + ER_USERNAME + + + + ER_HOSTNAME + + + + ER_WRONG_STRING_LENGTH + + + + ER_NON_INSERTABLE_TABLE + + + + ER_ADMIN_WRONG_MRG_TABLE + + + + ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT + + + + ER_NAME_BECOMES_EMPTY + + + + ER_AMBIGUOUS_FIELD_TERM + + + + ER_FOREIGN_SERVER_EXISTS + + + + ER_FOREIGN_SERVER_DOESNT_EXIST + + + + ER_ILLEGAL_HA_CREATE_OPTION + + + + ER_PARTITION_REQUIRES_VALUES_ERROR + + + + ER_PARTITION_WRONG_VALUES_ERROR + + + + ER_PARTITION_MAXVALUE_ERROR + + + + ER_PARTITION_SUBPARTITION_ERROR + + + + ER_PARTITION_SUBPART_MIX_ERROR + + + + ER_PARTITION_WRONG_NO_PART_ERROR + + + + ER_PARTITION_WRONG_NO_SUBPART_ERROR + + + + ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR + + + + ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR + + + + ER_FIELD_NOT_FOUND_PART_ERROR + + + + ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR + + + + ER_INCONSISTENT_PARTITION_INFO_ERROR + + + + ER_PARTITION_FUNC_NOT_ALLOWED_ERROR + + + + ER_PARTITIONS_MUST_BE_DEFINED_ERROR + + + + ER_RANGE_NOT_INCREASING_ERROR + + + + ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR + + + + ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR + + + + ER_PARTITION_ENTRY_ERROR + + + + ER_MIX_HANDLER_ERROR + + + + ER_PARTITION_NOT_DEFINED_ERROR + + + + ER_TOO_MANY_PARTITIONS_ERROR + + + + ER_SUBPARTITION_ERROR + + + + ER_CANT_CREATE_HANDLER_FILE + + + + ER_BLOB_FIELD_IN_PART_FUNC_ERROR + + + + ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF + + + + ER_NO_PARTS_ERROR + + + + ER_PARTITION_MGMT_ON_NONPARTITIONED + + + + ER_FOREIGN_KEY_ON_PARTITIONED + + + + ER_DROP_PARTITION_NON_EXISTENT + + + + ER_DROP_LAST_PARTITION + + + + ER_COALESCE_ONLY_ON_HASH_PARTITION + + + + ER_REORG_HASH_ONLY_ON_SAME_NO + + + + ER_REORG_NO_PARAM_ERROR + + + + ER_ONLY_ON_RANGE_LIST_PARTITION + + + + ER_ADD_PARTITION_SUBPART_ERROR + + + + ER_ADD_PARTITION_NO_NEW_PARTITION + + + + ER_COALESCE_PARTITION_NO_PARTITION + + + + ER_REORG_PARTITION_NOT_EXIST + + + + ER_SAME_NAME_PARTITION + + + + ER_NO_BINLOG_ERROR + + + + ER_CONSECUTIVE_REORG_PARTITIONS + + + + ER_REORG_OUTSIDE_RANGE + + + + ER_PARTITION_FUNCTION_FAILURE + + + + ER_PART_STATE_ERROR + + + + ER_LIMITED_PART_RANGE + + + + ER_PLUGIN_IS_NOT_LOADED + + + + ER_WRONG_VALUE + + + + ER_NO_PARTITION_FOR_GIVEN_VALUE + + + + ER_FILEGROUP_OPTION_ONLY_ONCE + + + + ER_CREATE_FILEGROUP_FAILED + + + + ER_DROP_FILEGROUP_FAILED + + + + ER_TABLESPACE_AUTO_EXTEND_ERROR + + + + ER_WRONG_SIZE_NUMBER + + + + ER_SIZE_OVERFLOW_ERROR + + + + ER_ALTER_FILEGROUP_FAILED + + + + ER_BINLOG_ROW_LOGGING_FAILED + + + + ER_BINLOG_ROW_WRONG_TABLE_DEF + + + + ER_BINLOG_ROW_RBR_TO_SBR + + + + ER_EVENT_ALREADY_EXISTS + + + + ER_EVENT_STORE_FAILED + + + + ER_EVENT_DOES_NOT_EXIST + + + + ER_EVENT_CANT_ALTER + + + + ER_EVENT_DROP_FAILED + + + + ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG + + + + ER_EVENT_ENDS_BEFORE_STARTS + + + + ER_EVENT_EXEC_TIME_IN_THE_PAST + + + + ER_EVENT_OPEN_TABLE_FAILED + + + + ER_EVENT_NEITHER_M_EXPR_NOR_M_AT + + + + ER_COL_COUNT_DOESNT_MATCH_CORRUPTED + + + + ER_CANNOT_LOAD_FROM_TABLE + + + + ER_EVENT_CANNOT_DELETE + + + + ER_EVENT_COMPILE_ERROR + + + + ER_EVENT_SAME_NAME + + + + ER_EVENT_DATA_TOO_LONG + + + + ER_DROP_INDEX_FK + + + + ER_WARN_DEPRECATED_SYNTAX_WITH_VER + + + + ER_CANT_WRITE_LOCK_LOG_TABLE + + + + ER_CANT_LOCK_LOG_TABLE + + + + ER_FOREIGN_DUPLICATE_KEY + + + + ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE + + + + ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR + + + + ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT + + + + ER_NDB_CANT_SWITCH_BINLOG_FORMAT + + + + ER_PARTITION_NO_TEMPORARY + + + + ER_PARTITION_CONST_DOMAIN_ERROR + + + + ER_PARTITION_FUNCTION_IS_NOT_ALLOWED + + + + ER_DDL_LOG_ERROR + + + + ER_NULL_IN_VALUES_LESS_THAN + + + + ER_WRONG_PARTITION_NAME + + + + ER_CANT_CHANGE_TX_ISOLATION + + + + ER_DUP_ENTRY_AUTOINCREMENT_CASE + + + + ER_EVENT_MODIFY_QUEUE_ERROR + + + + ER_EVENT_SET_VAR_ERROR + + + + ER_PARTITION_MERGE_ERROR + + + + ER_CANT_ACTIVATE_LOG + + + + ER_RBR_NOT_AVAILABLE + + + + ER_BASE64_DECODE_ERROR + + + + ER_EVENT_RECURSION_FORBIDDEN + + + + ER_EVENTS_DB_ERROR + + + + ER_ONLY_INTEGERS_ALLOWED + + + + ER_UNSUPORTED_LOG_ENGINE + + + + ER_BAD_LOG_STATEMENT + + + + ER_CANT_RENAME_LOG_TABLE + + + + ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT + + + + ER_WRONG_PARAMETERS_TO_NATIVE_FCT + + + + ER_WRONG_PARAMETERS_TO_STORED_FCT + + + + ER_NATIVE_FCT_NAME_COLLISION + + + + ER_DUP_ENTRY_WITH_KEY_NAME + + + + ER_BINLOG_PURGE_EMFILE + + + + ER_EVENT_CANNOT_CREATE_IN_THE_PAST + + + + ER_EVENT_CANNOT_ALTER_IN_THE_PAST + + + + ER_SLAVE_INCIDENT + + + + ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT + + + + ER_BINLOG_UNSAFE_STATEMENT + + + + ER_SLAVE_FATAL_ERROR + + + + ER_SLAVE_RELAY_LOG_READ_FAILURE + + + + ER_SLAVE_RELAY_LOG_WRITE_FAILURE + + + + ER_SLAVE_CREATE_EVENT_FAILURE + + + + ER_SLAVE_MASTER_COM_FAILURE + + + + ER_BINLOG_LOGGING_IMPOSSIBLE + + + + ER_VIEW_NO_CREATION_CTX + + + + ER_VIEW_INVALID_CREATION_CTX + + + + ER_SR_INVALID_CREATION_CTX + + + + ER_TRG_CORRUPTED_FILE + + + + ER_TRG_NO_CREATION_CTX + + + + ER_TRG_INVALID_CREATION_CTX + + + + ER_EVENT_INVALID_CREATION_CTX + + + + ER_TRG_CANT_OPEN_TABLE + + + + ER_CANT_CREATE_SROUTINE + + + + ER_SLAVE_AMBIGOUS_EXEC_MODE + + + + ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT + + + + ER_SLAVE_CORRUPT_EVENT + + + + ER_LOAD_DATA_INVALID_COLUMN + + + + ER_LOG_PURGE_NO_FILE + + + + ER_XA_RBTIMEOUT + + + + ER_XA_RBDEADLOCK + + + + ER_NEED_REPREPARE + + + + ER_DELAYED_NOT_SUPPORTED + + + + WARN_NO_MASTER_INFO + + + + WARN_OPTION_IGNORED + + + + WARN_PLUGIN_DELETE_BUILTIN + + + + WARN_PLUGIN_BUSY + + + + ER_VARIABLE_IS_READONLY + + + + ER_WARN_ENGINE_TRANSACTION_ROLLBACK + + + + ER_SLAVE_HEARTBEAT_FAILURE + + + + ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE + + + + ER_NDB_REPLICATION_SCHEMA_ERROR + + + + ER_CONFLICT_FN_PARSE_ERROR + + + + ER_EXCEPTIONS_WRITE_ERROR + + + + ER_TOO_LONG_TABLE_COMMENT + + + + ER_TOO_LONG_FIELD_COMMENT + + + + ER_FUNC_INEXISTENT_NAME_COLLISION + + + + ER_DATABASE_NAME + + + + ER_TABLE_NAME + + + + ER_PARTITION_NAME + + + + ER_SUBPARTITION_NAME + + + + ER_TEMPORARY_NAME + + + + ER_RENAMED_NAME + + + + ER_TOO_MANY_CONCURRENT_TRXS + + + + WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED + + + + ER_DEBUG_SYNC_TIMEOUT + + + + ER_DEBUG_SYNC_HIT_LIMIT + + + + ER_ERROR_LAST + + + + Helper class that makes it easier to work with the provider. + + + + + Executes a single command against a MySQL database. The is assumed to be + open when the method is called and remains open after the method completes. + + object to use + SQL command to be executed + Array of objects to use with the command. + + + + + Executes a single command against a MySQL database. A new is created + using the given. + + to use + SQL command to be executed + Array of objects to use with the command. + + + + + Executes a single SQL command and returns the first row of the resultset. A new MySqlConnection object + is created, opened, and closed during this method. + + Settings to be used for the connection + Command to execute + Parameters to use for the command + DataRow containing the first row of the resultset + + + + Executes a single SQL command and returns the resultset in a . + A new MySqlConnection object is created, opened, and closed during this method. + + Settings to be used for the connection + Command to execute + containing the resultset + + + + Executes a single SQL command and returns the resultset in a . + A new MySqlConnection object is created, opened, and closed during this method. + + Settings to be used for the connection + Command to execute + Parameters to use for the command + containing the resultset + + + + Executes a single SQL command and returns the resultset in a . + The state of the object remains unchanged after execution + of this method. + + object to use + Command to execute + containing the resultset + + + + Executes a single SQL command and returns the resultset in a . + The state of the object remains unchanged after execution + of this method. + + object to use + Command to execute + Parameters to use for the command + containing the resultset + + + + Updates the given table with data from the given + + Settings to use for the update + Command text to use for the update + containing the new data to use in the update + Tablename in the dataset to update + + + + Executes a single command against a MySQL database, possibly inside an existing transaction. + + object to use for the command + object to use for the command + Command text to use + Array of objects to use with the command + True if the connection should be preserved, false if not + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + Settings to use for this command + Command text to use + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + object to use for the command + Command text to use + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + Settings to use for this command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Executes a single command against a MySQL database. + + Connection to use for the command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Execute a single command against a MySQL database. + + Settings to use for the update + Command text to use for the update + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Execute a single command against a MySQL database. + + Settings to use for the command + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Execute a single command against a MySQL database. + + object to use + Command text to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Execute a single command against a MySQL database. + + object to use + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Escapes the string. + + The string to escape + The string with all quotes escaped. + + + + Async version of ExecuteDataRow + + Settings to be used for the connection + Command to execute + Parameters to use for the command + DataRow containing the first row of the resultset + + + + Async version of ExecuteNonQuery + + object to use + SQL command to be executed + Array of objects to use with the command. + Rows affected + + + + Async version of ExecuteNonQuery + + to use + SQL command to be executed + Array of objects to use with the command. + Rows affected + + + + Async version of ExecuteDataset + + Settings to be used for the connection + Command to execute + containing the resultset + + + + Async version of ExecuteDataset + + Settings to be used for the connection + Command to execute + Parameters to use for the command + containing the resultset + + + + Async version of ExecuteDataset + + object to use + Command to execute + containing the resultset + + + + Async version of ExecuteDataset + + object to use + Command to execute + Parameters to use for the command + containing the resultset + + + + Async version of UpdateDataset + + Settings to use for the update + Command text to use for the update + containing the new data to use in the update + Tablename in the dataset to update + + + + Async version of ExecuteReader + + object to use for the command + object to use for the command + Command text to use + Array of objects to use with the command + True if the connection should be preserved, false if not + object ready to read the results of the command + + + + Async version of ExecuteReader + + Settings to use for this command + Command text to use + object ready to read the results of the command + + + + Async version of ExecuteReader + + object to use for the command + Command text to use + object ready to read the results of the command + + + + Async version of ExecuteReader + + Settings to use for this command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Async version of ExecuteReader + + Connection to use for the command + Command text to use + Array of objects to use with the command + object ready to read the results of the command + + + + Async version of ExecuteScalar + + Settings to use for the update + Command text to use for the update + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Async version of ExecuteScalar + + Settings to use for the command + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Async version of ExecuteScalar + + object to use + Command text to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + Async version of ExecuteScalar + + object to use + Command text to use for the command + Parameters to use for the command + The first column of the first row in the result set, or a null reference if the result set is empty. + + + + WriteInteger + + + + + + + Summary description for MySqlPool. + + + + + It is assumed that this property will only be used from inside an active + lock. + + + + + Indicates whether this pool is being cleared. + + + + + It is assumed that this method is only called from inside an active lock. + + + + + It is assumed that this method is only called from inside an active lock. + + + + + Removes a connection from the in use pool. The only situations where this method + would be called are when a connection that is in use gets some type of fatal exception + or when the connection is being returned to the pool and it's too old to be + returned. + + + + + + Clears this pool of all idle connections and marks this pool and being cleared + so all other connections are closed when they are returned. + + + + + Remove expired drivers from the idle pool + + + + Closing driver is a potentially lengthy operation involving network + IO. Therefore we do not close expired drivers while holding + idlePool.SyncRoot lock. We just remove the old drivers from the idle + queue and return them to the caller. The caller will need to close + them (or let GC close them) + + + + + Summary description for MySqlPoolManager. + + + + + Remove drivers that have been idle for too long. + + + + + Represents a single(not nested) TransactionScope + + + + + Provides a class capable of executing a SQL script containing + multiple SQL statements including CREATE PROCEDURE statements + that require changing the delimiter + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class. + + The connection. + + + + Initializes a new instance of the + class. + + The query. + + + + Initializes a new instance of the + class. + + The connection. + The query. + + + + Gets or sets the connection. + + The connection. + + + + Gets or sets the query. + + The query. + + + + Gets or sets the delimiter. + + The delimiter. + + + + Executes this instance. + + The number of statements executed as part of the script. + + + + Async version of Execute + + The number of statements executed as part of the script inside. + + + + + + + + + + + + + + + + + + + Gets the statement text. + + The statement text. + + + + Gets the line. + + The line. + + + + Gets the position. + + The position. + + + + + + + + + Initializes a new instance of the class. + + The exception. + + + + Gets the exception. + + The exception. + + + + Gets or sets a value indicating whether this is ignore. + + true if ignore; otherwise, false. + + + + Summary description for MySqlStream. + + + + + ReadPacket is called by NativeDriver to start reading the next + packet on the stream. + + + + + Reads the specified number of bytes from the stream and stores them at given + offset in the buffer. + Throws EndOfStreamException if not all bytes can be read. + + Stream to read from + Array to store bytes read from the stream + The offset in buffer at which to begin storing the data read from the current stream. + Number of bytes to read + + + + LoadPacket loads up and decodes the header of the incoming packet. + + + + + Summary description for Driver. + + + + + Sets the current database for the this connection + + + + + + Retrieve client SSL certificates. Dependent on connection string + settings we use either file or store based certificates. + + + + + Return the appropriate set of connection flags for our + server capabilities and our user requested options. + + + + + Query is the method that is called to send all queries to the server + + + + + Sends the specified file to the server. + This supports the LOAD DATA LOCAL INFILE + + + + + + FetchDataRow is the method that the data reader calls to see if there is another + row to fetch. In the non-prepared mode, it will simply read the next data packet. + In the prepared mode (statementId > 0), it will + + + + + Execution timeout, in milliseconds. When the accumulated time for network IO exceeds this value + TimeoutException is thrown. This timeout needs to be reset for every new command + + + + + + Summary description for PreparedStatement. + + + + + Prepares CommandText for use with the Prepare method + + Command text stripped of all paramter names + + Takes the output of TokenizeSql and creates a single string of SQL + that only contains '?' markers for each parameter. It also creates + the parameterMap array list that includes all the paramter names in the + order they appeared in the SQL + + + + + Used to define a Replication configurarion element in configuration file + + + + + Used to define a Replication server group in configuration file + + + + + Defines a Replication server in configuration file + + + + + + Returns Replication Server Group List + + + + + Adds a Default Server Group to the list + + Group name + Time between reconnections for failed servers + Replication Server Group added + + + + Adds a Server Group to the list + + Group name + ServerGroup type reference + Time between reconnections for failed servers + Server Group added + + + + Gets the next server from a replication group + + Group name + True if the server to return must be a master + Replication Server defined by the Load Balancing plugin + + + + Gets a Server Group by name + + Group name + Server Group if found, otherwise throws an MySqlException + + + + Validates if the replication group name exists + + Group name to validate + True if replication group name is found, otherwise false + + + + Assigns a new server driver to the connection object + + Group name + True if the server connection to assign must be a master + MySqlConnection object where the new driver will be assigned + + + + Class that implements Round Robing Load Balancing technique + + + + + Gets an available server based on Round Robin load balancing + + True if the server to return must be a master + Next available server + + + + Represents a server in Replication environment + + + + + Server name + + + + + Defines if the server is master (True) or slave + + + + + Connection string used to connect to the server + + + + + Defines if the server is available to be considered in load balancing + + + + + Base class used to implement load balancing features + + + + Group name + + + + + Group name + + + + + Retry time between connections to failed servers + + + + + Servers list in the group + + + + + Adds a server into the group + + Server name + True if the server to add is master, False for slave server + Connection string used by this server + + + + + Removes a server from group + + Server name + + + + Gets a server by name + + Server name + Replication server + + + + Must be implemented. Defines the next server for a custom load balancing implementation. + + Defines if the server to return is a master or any + Next server based on the load balancing implementation. + Null if no available server is found. + + + + + Handles a failed connection to a server. + This method can be overrided to implement a custom failover handling + + The failed server + + + + Handles a failed connection to a server. + + The failed server + Exception that caused the failover + + + + return the ordinal for the given column name + + + + + + + Retrieve the value as the given column index + + The column value to retrieve + The value as the given column + + + + Closes the current resultset, dumping any data still on the wire + + + + + Loads the column metadata for the current resultset + + + + + GetForeignKeysOnTable retrieves the foreign keys on the given table. + Since MySQL supports foreign keys on versions prior to 5.0, we can't use + information schema. MySQL also does not include any type of SHOW command + for foreign keys so we have to resort to use SHOW CREATE TABLE and parsing + the output. + + The table to store the key info in. + The table to get the foeign key info for. + Only get foreign keys that match this name. + Should column information be included in the table. + + + + Serializes the given parameter to the given memory stream + + + This method is called by PrepareSqlBuffers to convert the given + parameter to bytes and write those bytes to the given memory stream. + + + True if the parameter was successfully serialized, false otherwise. + + + + Summary description for StoredProcedure. + + + + + Stream that supports timeout of IO operations. + This class is used is used to support timeouts for SQL command, where a + typical operation involves several network reads/writes. + Timeout here is defined as the accumulated duration of all IO operations. + + + + + Construct a TimedStream + + Undelying stream + + + + Figure out whether it is necessary to reset timeout on stream. + We track the current value of timeout and try to avoid + changing it too often, because setting Read/WriteTimeout property + on network stream maybe a slow operation that involves a system call + (setsockopt). Therefore, we allow a small difference, and do not + reset timeout if current value is slightly greater than the requested + one (within 0.1 second). + + + + + Common handler for IO exceptions. + Resets timeout to infinity if timeout exception is + detected and stops the times. + + original exception + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Improper MySqlCommandBuilder state: adapter is null. + + + + + Looks up a localized string similar to Improper MySqlCommandBuilder state: adapter's SelectCommand is null. + + + + + Looks up a localized string similar to Invalid attempt to access a field before calling Read(). + + + + + Looks up a localized string similar to Authentication to host '{0}' for user '{1}' using method '{2}' failed with message: {3}. + + + + + Looks up a localized string similar to Authentication method '{0}' not supported by any of the available plugins.. + + + + + Looks up a localized string similar to Version string not in acceptable format. + + + + + Looks up a localized string similar to The buffer cannot be null. + + + + + Looks up a localized string similar to Buffer is not large enough. + + + + + Looks up a localized string similar to Canceling an executing query requires MySQL 5.0 or higher.. + + + + + Looks up a localized string similar to Canceling an active query is only supported on MySQL 5.0.0 and above. . + + + + + Looks up a localized string similar to Parameters can only be derived for commands using the StoredProcedure command type.. + + + + + Looks up a localized string similar to MySqlCommandBuilder does not support multi-table statements. + + + + + Looks up a localized string similar to MySqlCommandBuilder cannot operate on tables with no unique or key columns. + + + + + Looks up a localized string similar to Chaos isolation level is not supported. + + + + + Looks up a localized string similar to The CommandText property has not been properly initialized.. + + + + + Looks up a localized string similar to The connection is already open.. + + + + + Looks up a localized string similar to Connection unexpectedly terminated.. + + + + + Looks up a localized string similar to Connection must be valid and open. + + + + + Looks up a localized string similar to The connection is not open.. + + + + + Looks up a localized string similar to The connection property has not been set or is null.. + + + + + Looks up a localized string similar to Could not find specified column in results: {0}. + + + + + Looks up a localized string similar to Count cannot be negative. + + + + + Looks up a localized string similar to SetLength is not a valid operation on CompressedStream. + + + + + Looks up a localized string similar to The given value was not in a supported format.. + + + + + Looks up a localized string similar to There is already an open DataReader associated with this Connection which must be closed first.. + + + + + Looks up a localized string similar to The default connection encoding was not found. Please report this as a bug along with your connection string and system details.. + + + + + Looks up a localized string similar to MySQL Connector/Net does not currently support distributed transactions.. + + + + + Looks up a localized string similar to Error creating socket connection. + + + + + Looks up a localized string similar to Fatal error encountered during command execution.. + + + + + Looks up a localized string similar to Fatal error encountered during data read.. + + + + + Looks up a localized string similar to Fatal error encountered attempting to read the resultset.. + + + + + Looks up a localized string similar to File based certificates are only supported when connecting to MySQL Server 5.1 or greater.. + + + + + Looks up a localized string similar to From index and length use more bytes than from contains. + + + + + Looks up a localized string similar to From index must be a valid index inside the from buffer. + + + + + Looks up a localized string similar to Call to GetHostEntry failed after {0} while querying for hostname '{1}': SocketErrorCode={2}, ErrorCode={3}, NativeErrorCode={4}.. + + + + + Looks up a localized string similar to Retrieving procedure metadata for {0} from server.. + + + + + Looks up a localized string similar to Value has an unsupported format.. + + + + + Looks up a localized string similar to An incorrect response was received from the server.. + + + + + Looks up a localized string similar to Index and length use more bytes than to has room for. + + + + + Looks up a localized string similar to Index must be a valid position in the buffer. + + + + + Looks up a localized string similar to You have specified an invalid column ordinal.. + + + + + Looks up a localized string similar to The requested value '{0}' is invalid for the given keyword '{1}'.. + + + + + Looks up a localized string similar to Microsecond must be a value between 0 and 999999.. + + + + + Looks up a localized string similar to Millisecond must be a value between 0 and 999. For more precision use Microsecond.. + + + + + Looks up a localized string similar to Procedure or function '{0}' cannot be found in database '{1}'.. + + + + + Looks up a localized string similar to '{0}' is an illegal value for a boolean option.. + + + + + Looks up a localized string similar to Keyword does not allow null values.. + + + + + Looks up a localized string similar to Keyword not supported.. + + + + + Looks up a localized string similar to ACCESSIBLE + ADD + ALL + ALTER + ANALYZE + AND + AS + ASC + ASENSITIVE + BEFORE + BEGIN + BETWEEN + BIGINT + BINARY + BLOB + BOTH + BY + CALL + CASCADE + CASE + CHANGE + CHAR + CHARACTER + CHECK + COLLATE + COLUMN + COMMIT + CONDITION + CONNECTION + CONSTRAINT + CONTINUE + CONVERT + CREATE + CROSS + CURRENT_DATE + CURRENT_TIME + CURRENT_TIMESTAMP + CURRENT_USER + CURSOR + DATABASE + DATABASES + DAY_HOUR + DAY_MICROSECOND + DAY_MINUTE + DAY_SECOND + DEC + DECIMAL + DECLARE + DEFAULT + DELAYED + DELETE + DESC + DESCRIBE + DETERMINISTIC + DISTINCT + DISTINCTROW + D [rest of string was truncated]";. + + + + + Looks up a localized string similar to Mixing named and unnamed parameters is not allowed.. + + + + + Looks up a localized string similar to INTERNAL ERROR: More than one output parameter row detected.. + + + + + Looks up a localized string similar to Multiple simultaneous connections or connections with different connection strings inside the same transaction are not currently supported.. + + + + + Looks up a localized string similar to NamedPipeStream does not support seeking. + + + + + Looks up a localized string similar to NamedPipeStream doesn't support SetLength. + + + + + Looks up a localized string similar to The new value must be a MySqlParameter object.. + + + + + Looks up a localized string similar to Invalid attempt to call NextResult when the reader is closed.. + + + + + Looks up a localized string similar to When calling stored procedures and 'Use Procedure Bodies' is false, all parameters must have their type explicitly set.. + + + + + Looks up a localized string similar to Nested transactions are not supported.. + + + + + Looks up a localized string similar to The host {0} does not support SSL connections.. + + + + + Looks up a localized string similar to Unix sockets are not supported on Windows.. + + + + + Looks up a localized string similar to Cannot retrieve Windows identity for current user. Connections that use IntegratedSecurity cannot be pooled. Use either 'ConnectionReset=true' or 'Pooling=false' in the connection string to fix.. + + + + + Looks up a localized string similar to The object is not open or has been disposed.. + + + + + Looks up a localized string similar to Offset cannot be negative. + + + + + Looks up a localized string similar to Offset must be a valid position in buffer. + + + + + Looks up a localized string similar to Authentication with old password no longer supported, use 4.1 style passwords.. + + + + + Looks up a localized string similar to Parameter '{0}' has already been defined.. + + + + + Looks up a localized string similar to Parameter cannot have a negative value. + + + + + Looks up a localized string similar to Parameter cannot be null. + + + + + Looks up a localized string similar to Parameter index was not found in Parameter Collection.. + + + + + Looks up a localized string similar to Parameter is invalid.. + + + + + Looks up a localized string similar to Parameter '{0}' must be defined.. + + + + + Looks up a localized string similar to Parameter '{0}' was not found during prepare.. + + + + + Looks up a localized string similar to Password must be valid and contain length characters. + + + + + Looks up a localized string similar to This category includes a series of counters for MySQL.. + + + + + Looks up a localized string similar to .NET Data Provider for MySQL. + + + + + Looks up a localized string similar to The number of times a procedures metadata had to be queried from the server.. + + + + + Looks up a localized string similar to Hard Procedure Queries. + + + + + Looks up a localized string similar to The number of times a procedures metadata was retrieved from the client-side cache.. + + + + + Looks up a localized string similar to Soft Procedure Queries. + + + + + Looks up a localized string similar to same name are not supported.. + + + + + Looks up a localized string similar to Packets larger than max_allowed_packet are not allowed.. + + + + + Looks up a localized string similar to Reading from the stream has failed.. + + + + + Looks up a localized string similar to Invalid attempt to read a prior column using SequentialAccess. + + + + + Looks up a localized string similar to Replicated connections allow only readonly statements.. + + + + + Looks up a localized string similar to Attempt to connect to '{0}' server failed.. + + + + + Looks up a localized string similar to No available server found.. + + + + + Looks up a localized string similar to Replication group '{0}' not found.. + + + + + Looks up a localized string similar to Replicated server not found: '{0}'. + + + + + Looks up a localized string similar to Routine '{0}' cannot be found. Either check the spelling or make sure you have sufficient rights to execute the routine.. + + + + + Looks up a localized string similar to Attempt to call stored function '{0}' without specifying a return parameter. + + + + + Looks up a localized string similar to Connector/Net no longer supports server versions prior to 5.0. + + + + + Looks up a localized string similar to Snapshot isolation level is not supported.. + + + + + Looks up a localized string similar to Socket streams do not support seeking. + + + + + Looks up a localized string similar to Retrieving procedure metadata for {0} from procedure cache.. + + + + + Looks up a localized string similar to Stored procedures are not supported on this version of MySQL. + + + + + Looks up a localized string similar to The stream has already been closed. + + + + + Looks up a localized string similar to The stream does not support reading. + + + + + Looks up a localized string similar to The stream does not support writing. + + + + + Looks up a localized string similar to Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.. + + + + + Looks up a localized string similar to error connecting: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.. + + + + + Looks up a localized string similar to {0}: Connection Closed. + + + + + Looks up a localized string similar to Unable to trace. There are more than Int32.MaxValue connections in use.. + + + + + Looks up a localized string similar to {0}: Error encountered during row fetch. Number = {1}, Message={2}. + + + + + Looks up a localized string similar to {0}: Connection Opened: connection string = '{1}'. + + + + + Looks up a localized string similar to {0}: Error encountered attempting to open result: Number={1}, Message={2}. + + + + + Looks up a localized string similar to {0}: Query Closed. + + + + + Looks up a localized string similar to {0}: Query Normalized: {2}. + + + + + Looks up a localized string similar to {0}: Query Opened: {2}. + + + + + Looks up a localized string similar to {0}: Resultset Opened: field(s) = {1}, affected rows = {2}, inserted id = {3}. + + + + + Looks up a localized string similar to {0}: Resultset Closed. Total rows={1}, skipped rows={2}, size (bytes)={3}. + + + + + Looks up a localized string similar to {0}: Set Database: {1}. + + + + + Looks up a localized string similar to {0}: Statement closed: statement id = {1}. + + + + + Looks up a localized string similar to {0}: Statement executed: statement id = {1}. + + + + + Looks up a localized string similar to {0}: Statement prepared: sql='{1}', statement id={2}. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: Query is using a bad index. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: The field '{2}' was converted to the following types: {3}. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: Query does not use an index. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: The following columns were not accessed: {2}. + + + + + Looks up a localized string similar to {0}: Usage Advisor Warning: Skipped {2} rows. Consider a more focused query.. + + + + + Looks up a localized string similar to {0}: MySql Warning: Level={1}, Code={2}, Message={3}. + + + + + Looks up a localized string similar to Type '{0}' is not derived from BaseCommandInterceptor. + + + + + Looks up a localized string similar to Type '{0}' is not derived from BaseExceptionInterceptor. + + + + + Looks up a localized string similar to Unable to connect to any of the specified MySQL hosts.. + + + + + Looks up a localized string similar to Unable to create plugin for authentication method '{0}'. Please see inner exception for details.. + + + + + Looks up a localized string similar to Unable to derive stored routine parameters. The 'Parameters' information schema table is not available and access to the stored procedure body has been disabled.. + + + + + Looks up a localized string similar to Unable to enable query analysis. Be sure the MySql.Data.EMTrace assembly is properly located and registered.. + + + + + Looks up a localized string similar to An error occured attempting to enumerate the user-defined functions. Do you have SELECT privileges on the mysql.func table?. + + + + + Looks up a localized string similar to Unable to execute stored procedure '{0}'.. + + + + + Looks up a localized string similar to There was an error parsing the foreign key definition.. + + + + + Looks up a localized string similar to Unable to retrieve stored procedure metadata for routine '{0}'. Either grant SELECT privilege to mysql.proc for this user or use "check parameters=false" with your connection string.. + + + + + Looks up a localized string similar to Unable to start a second async operation while one is running.. + + + + + Looks up a localized string similar to Unix sockets are not supported on Windows. + + + + + Looks up a localized string similar to Unknown authentication method '{0}' was requested.. + + + + + Looks up a localized string similar to Unknown connection protocol. + + + + + Looks up a localized string similar to Value '{0}' is not of the correct type.. + + + + + Looks up a localized string similar to The requested column value could not be treated as or conveted to a Guid.. + + + + + Looks up a localized string similar to Windows authentication connections are not supported on {0}. + + + + + Looks up a localized string similar to Writing to the stream failed.. + + + + + Looks up a localized string similar to Parameter '{0}' is not found but a parameter with the name '{1}' is found. Parameter names must include the leading parameter marker.. + + + + + This class is modeled after .NET Stopwatch. It provides better + performance (no system calls).It is however less precise than + .NET Stopwatch, measuring in milliseconds. It is adequate to use + when high-precision is not required (e.g for measuring IO timeouts), + but not for other tasks. + + + + + Wrapper around NetworkStream. + + MyNetworkStream is equivalent to NetworkStream, except + 1. It throws TimeoutException if read or write timeout occurs, instead + of IOException, to match behavior of other streams (named pipe and + shared memory). This property comes handy in TimedStream. + + 2. It implements workarounds for WSAEWOULDBLOCK errors, that can start + occuring after stream has times out. For a discussion about the CLR bug, + refer to http://tinyurl.com/lhgpyf. This error should never occur, as + we're not using asynchronous operations, but apparerntly it does occur + directly after timeout has expired. + The workaround is hinted in the URL above and implemented like this: + For each IO operation, if it throws WSAEWOULDBLOCK, we explicitely set + the socket to Blocking and retry the operation once again. + + + + + Set keepalive + timeout on socket. + + socket + keepalive timeout, in seconds + + + + Summary description for API. + + + + + By creating a private ctor, we keep the compiler from creating a default ctor + + + + + Mark - or + signs that are unary ops as no output + + + + + + Helper class to encapsulate shared memory functionality + Also cares of proper cleanup of file mapping object and cew + + + + + Summary description for SharedMemoryStream. + + + + + Summary description for StreamCreator. + + + + + Summary description for Version. + + + + + + + + + + Constructs a new MySqlDateTime object by setting the individual time properties to + the given values. + + The year to use. + The month to use. + The day to use. + The hour to use. + The minute to use. + The second to use. + The microsecond to use. + + + + Constructs a new MySqlDateTime object by using values from the given object. + + The object to copy. + + + + Constructs a new MySqlDateTime object by copying the current value of the given object. + + The MySqlDateTime object to copy. + + + + Enables the contruction of a MySqlDateTime object by parsing a string. + + + + + Indicates if this object contains a value that can be represented as a DateTime + + + + Returns the year portion of this datetime + + + Returns the month portion of this datetime + + + Returns the day portion of this datetime + + + Returns the hour portion of this datetime + + + Returns the minute portion of this datetime + + + Returns the second portion of this datetime + + + + Returns the milliseconds portion of this datetime + expressed as a value between 0 and 999 + + + + + Returns the microseconds portion of this datetime (6 digit precision) + + + + + Returns true if this datetime object has a null value + + + + + Retrieves the value of this as a DateTime object. + + + + Returns this value as a DateTime + + + Returns a MySQL specific string representation of this value + + + + + + + + + Summary description for MySqlUInt64. + + + + + Summary description for MySqlConversionException. + + + + Ctor + + + Returns the Well-Known Text representation of this value + POINT({0} {1})", longitude, latitude + http://dev.mysql.com/doc/refman/4.1/en/gis-wkt-format.html + + + + Get value from WKT format + SRID=0;POINT (x y) or POINT (x y) + + WKT string format + + + + Try to get value from WKT format + SRID=0;POINT (x y) or POINT (x y) + + WKT string format + + + + This method returns the literal value received + + The literal to return + The received value + + + + This method returns the literal value received + + The literal to return + The received value + + + + This method returns the literal value received + + The literal to return + The received value + + + + This method returns the literal value received + + The literal to return + The received value + + + + Performs an unsigned bitwise right shift with the specified number + + Number to operate on + Ammount of bits to shift + The resulting number from the shift operation + + + + Performs an unsigned bitwise right shift with the specified number + + Number to operate on + Ammount of bits to shift + The resulting number from the shift operation + + + + Performs an unsigned bitwise right shift with the specified number + + Number to operate on + Ammount of bits to shift + The resulting number from the shift operation + + + + Performs an unsigned bitwise right shift with the specified number + + Number to operate on + Ammount of bits to shift + The resulting number from the shift operation + + + Reads a number of characters from the current source Stream and writes the data to the target array at the specified index. + The source Stream to read from. + Contains the array of characteres read from the source Stream. + The starting index of the target array. + The maximum number of characters to read from the source Stream. + The number of characters read. The number will be less than or equal to count depending on the data available in the source Stream. Returns -1 if the end of the stream is reached. + + + Reads a number of characters from the current source TextReader and writes the data to the target array at the specified index. + The source TextReader to read from + Contains the array of characteres read from the source TextReader. + The starting index of the target array. + The maximum number of characters to read from the source TextReader. + The number of characters read. The number will be less than or equal to count depending on the data available in the source TextReader. Returns -1 if the end of the stream is reached. + + + + Converts a string to an array of bytes + + The string to be converted + The new array of bytes + + + + Converts an array of bytes to an array of chars + + The array of bytes to convert + The new array of chars + + + + Writes an object to the specified Stream + + The target Stream + The object to be sent + + + + Writes an object to the specified BinaryWriter + + The target BinaryWriter + The object to be sent + + + + Deserializes an object, or an entire graph of connected objects, and returns the object intance + + Reader instance used to read the object + The object instance + + + + Writes the exception stack trace to the received stream + + Exception to obtain information from + Output sream used to write to + + + Returns the total number of bytes input so far. + + + Returns the total number of bytes output so far. + + + Returns the total number of bytes input so far. + + + Returns the total number of bytes output so far. + + + diff --git a/ChessManagement/obj/Debug/ChessManagement.csproj.FileListAbsolute.txt b/ChessManagement/obj/Debug/ChessManagement.csproj.FileListAbsolute.txt index 1168fb6..ce41ba0 100644 --- a/ChessManagement/obj/Debug/ChessManagement.csproj.FileListAbsolute.txt +++ b/ChessManagement/obj/Debug/ChessManagement.csproj.FileListAbsolute.txt @@ -77,3 +77,84 @@ C:\Users\Owner\Google Drive\Visual Studio Projects\ChessManagement\ChessManageme C:\Users\Owner\Google Drive\Visual Studio Projects\ChessManagement\ChessManagement\obj\Debug\ChessManagement.csprojResolveAssemblyReference.cache C:\Users\Owner\Google Drive\Visual Studio Projects\ChessManagement\ChessManagement\obj\Debug\ChessManagement.dll C:\Users\Owner\Google Drive\Visual Studio Projects\ChessManagement\ChessManagement\obj\Debug\ChessManagement.pdb +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\obj\Debug\ChessManagement.csprojResolveAssemblyReference.cache +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\obj\Debug\ChessManagement.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\obj\Debug\ChessManagement.pdb +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\ApplicationInsights.config +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\csc.exe +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\Microsoft.Build.Tasks.CodeAnalysis.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\Microsoft.CodeAnalysis.CSharp.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\Microsoft.CodeAnalysis.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\Microsoft.CodeAnalysis.VisualBasic.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\Microsoft.CSharp.Core.targets +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\Microsoft.VisualBasic.Core.targets +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\System.Collections.Immutable.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\System.Reflection.Metadata.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\vbc.exe +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\VBCSCompiler.exe +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\roslyn\VBCSCompiler.exe.config +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\ChessManagement.dll.config +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\ChessManagement.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\ChessManagement.pdb +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Antlr3.Runtime.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\AspNet.ScriptManager.bootstrap.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\AspNet.ScriptManager.jQuery.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\EntityFramework.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\EntityFramework.SqlServer.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AI.Agent.Intercept.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AI.DependencyCollector.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AI.PerfCounterCollector.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AI.ServerTelemetryChannel.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AI.Web.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AI.WindowsServer.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.ApplicationInsights.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AspNet.FriendlyUrls.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AspNet.Identity.Core.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AspNet.Identity.EntityFramework.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AspNet.Identity.Owin.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AspNet.Web.Optimization.WebForms.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Host.SystemWeb.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.Cookies.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.Facebook.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.Google.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.MicrosoftAccount.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.OAuth.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.Twitter.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.ScriptManager.MSAjax.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.ScriptManager.WebForms.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Web.Infrastructure.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\MySql.Data.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Newtonsoft.Json.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Owin.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\System.Web.Optimization.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\System.Web.Providers.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\WebGrease.dll +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AI.DependencyCollector.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AI.ServerTelemetryChannel.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AI.Web.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AI.WindowsServer.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.ApplicationInsights.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\MySql.Data.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\System.Web.Optimization.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Antlr3.Runtime.pdb +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Newtonsoft.Json.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AspNet.FriendlyUrls.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\EntityFramework.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\EntityFramework.SqlServer.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AspNet.Identity.Core.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AspNet.Identity.Owin.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.AspNet.Identity.EntityFramework.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\System.Web.Providers.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Host.SystemWeb.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.Facebook.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.Cookies.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.Google.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.Twitter.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.MicrosoftAccount.xml +C:\Users\Owner\GitKraken Repos\CS360Assignment1\ChessManagement\bin\Microsoft.Owin.Security.OAuth.xml diff --git a/ChessManagement/obj/Debug/ChessManagement.csprojResolveAssemblyReference.cache b/ChessManagement/obj/Debug/ChessManagement.csprojResolveAssemblyReference.cache index 91a0a2e27c52d1e3352a4895dfec40c2d0233f41..ba637e9d0fdba5a15116305f073c6c8c68ed8086 100644 GIT binary patch literal 368669 zcmeEP2YeL88_hs+#~vlbUZ`RhLvJD=(xr%03mT4agh&cp5)c)^f{48VDk7kQV!?_P z?AXPMf(21*h+VNO|M%wZ+ss@x5HE>;yx*PXvGaCz%J;pQot@pCO;IT+DckVlzx>sy z0XSt~Zg#k^sBm0y=Fug&d1Et&1&byWW%eixhnhDT5egUO78Z1A)i$#w|7+f)M@e3B zNjTJ{AXHKu4(2s)GPq<+UT${((9~gt6G8=D#O)!m_HTBM8 z=+vU(Q2x;3U~!1CoN>8%AswpOAhHXk$jb|57o!M8nSFyrQR_KF&GYo>od_Fg=0g5!-bP`$A-eSNDR$AJ(P+X75PR4 z^GZTRDJeB;rlh6SuH}_iKS^tUk23cwlm1u7b?k-&Qv!k2Kqr-u2B^=i0{r=WfSIbt z5u=6|!TO_)ol+1AkLr_K+&>(Iftw5oO)M-L)njOz_AR>?73Jm>u#w#d*> zc1f7_aSPf#JG-!?pg6M)TBNtFc5ooA7N~O1dJ1n$VPSC*I*N(9v@H$K?jSnLSQ}-W zUB-}=QC}}Dwcg=ierQTzctU1-G>JAwp5;6rPM0#PZZZc}BFJz;x4*?rl}-Pa_+Tf_2Y9*OJ+PE;@639Kb3+AV^QI0D=S9xxFoJyw zFpLm6b6AJ4OuL{=_mwGAWtw4`Jl&H(tj#Lk{l*^2lJAO=kB9$oTFOD2Z_*nBjG`t7 zpVqPcA)|(b#)ZP6g6vQeoJK?W7{uV@=@x91+eeJb9Mo%AX=rlW%yu}1M$h$wO7cVD z-0ULVaCfWj+>X!B%N&qfFiGdOJ95jZ&bsvs2XRKu(V6Xm%;uDlK>V__Mff$wNW%djf2fG&(6yh2|Uj(oW`=Sih zGT@8X=nYVy3#y`Zz}7fjjSB}cWGcz#b(Zd~%|_9(w2#u~)tKnCPeT-Eb(!K+O@Ga6 zrJjZPnR2~Ul-aYe7}pzg8#>qU;Jje*IJD(Rxjmb5g_B@i8lf(^)uOl3zNN>|@xky! z-NYLsyP3*+=u_cx^9<|Vi&Z!YR=o+zGQXPK*xh5aw4EWGM{Jg`X*HIxYMR1+DB+D| zY#9G}i={etB8KX@r|S-hO)zrm!liY21K`N8s{BJ~%4R6&!ZHP|nl@`+4fZH3oPeQD zg|8kZK1;bjN;$b&T4QuP#qM7B`9nj+y-q6*;Sz&WKg|1pY80EcP~XBLOq=K_Df(&$ z7fdm+S;7N7eHf3}Jlb2&&_oR6FJm?jH2gPr~KqHBr^73mWLqAV(;@oHCOgf=k=8Uy-?!mMFxGat3c+jn($wuuxtoKU5r^+GBjM zpa7R1+x2}!A7zfA2wI^SJV{!%sPI|fpH|$Sp=@2%ei#&*Qj9Y&?+zVPR9Jus)0UZ$ znajuxgxLKwKpPaIx~`M$KB146ScN-uNUzb3diZPGro zQ)VaJ>~iP%IE%-alOi(=dVtvxNw270OO$^NP|3@OPAL20GG(uDr&D?@?A1?tj>op! zJ9-{LwH<+So?Rv7j9gTePD4cJZp;LY?1FM$TJ@%L^QdU&#trYVYS|avxYOh zkz2SrU4ij=C_FKoTNL6YKyEf>(kOvG$T$8w#j&I4ij1=RMsuvTdz-_;!Ga<@Hs#L1 z^+S$}%C!1;1{sl)x6HO=#$NMO?xycCC}x$+KX{FWwlnPUn6#rZ`lC4Ws>Es@8N@!c zz~Xt|dcb2Cv5{H20Vv&7)m1wC0((2A!y_Wrvf|YuL>R1%$>M};G%!#^mP#G<4>A?D*4Z#PaXeU*CUT!-s@n{zm&~eD1T2DN< zvdrvTTpYP`I0U&(!->b5^{E;|>+|pqhQ+M#P!u6taf?>jgzqrqTdl*b(&tF^xpp}6 zD@QpTrpMe7*LP!$PO$feN=Ze3byp$ESNR^+kO$Ps8mT1g}tYm3Ts~k zyQ7~fc?N$B%3byrZyfTj@N-2~^k`Bx3SO-f9`ZaqPLjF7JbBoLz8;ILuPEc|IBe!Q z*pC0~6hgUz)pB;qFUl?q<4H_?z8;5cs`b8=J=H{u=OD`y%IOo!d9=yCn_t8D&+A(4x;^F_Q_%&j^&GB5MwNjyTW%xGy63UPXMS|H}BcpWUt<6spmCCqn8-LX+-^weq{LZR@zSH7}hjpi#;%I&o6`h2OD?Z+u5ln^Ep zrVvgeOeLI7ID>E|VH)8q!gRt6!r6p#2ksz#e_=;ml7@` zTu!)xa3$d?!qtR1gt>%yglh=b60Rf6CtOchK)8Xhkg$lbm~bQECc@2xC4{AfTL`xj zmJx0v+)lWIa3^6o;V#16gnJ1067D11Pgp^CfbbyUA;QCiM+lD+RuWbb9wR(Xc!KaG z;VHt?gl7n=3C|LqBRo%df$$>XCBn;uR|sneuM%D(yiRz7@Fw9c!dk-Hgm(z*2jWcDt4tk)cU9|*m8XC4*C#!$g8b9EG0G7r&8-Sk1Yq^cLE9%mWS_;x$n-gNHjC!rwqOSx@!i%*4NpDZRZohrvTq)fB>G( zX_?ukWt&!=oX-(fY`ipR%12Kgn|tINeVs3`?QAA|3Gi(JmO=D|Qb0po;^)JhwY?`T>OVBjG22Z!5q&=x2l#I}?47s{Pr@eAMX|5YDfJ z-vGYf0p>w}AgrbW^g*w`Tb$YqIsFO3`HS#3z_$%x9+aX|QqoQbxpSzh#=oK}t&{_Q z$;$Zf)xM5`1)Lg$ngCxaATSxXyE5Cg?9jSHK%D{OXp6SK^(XB+E)KFT- z!HD4;LO2xQJIp@7X^ybs5LBCG*1PM@Jria*obfXWEdaij0JBN8LO6{>)}7Vyt?dE_ z6o=NjhGLdBh~cy)v;+9s+Xpxu5LO(D>x15GQt!=c*YtHdGJYq*5ddFjfN7Q^5mp?! z>w_k)y|8Zyde1J5-<8k};5!On9@HJ-w2OCQTOMr}IFQCmlK;QsQ!8=G6W8=$)p*Lg zRGiko;Gp+EgwuLrkJF3L8{q51h{h?eFT(0FIY{KukMWNo^auC`0L+61BCL1;r{%GH z|1OiaqNxpH{9_4&0lwn^=0QUcR=nWT2W73_sz)Y68GjgIIKVdoU>-CQ;WS<#{{P+N zeabuDE^t8cLRQx>ZOV_jh9@9~b0Xm+fNzw2fO9g!>S{S?$(Q+h2y+VKXAwpNd_jO| zmN5vcIdahZnFp`txF?(O#}YyS-#CDIP!7Urb9Z7}j<*XONSn7)6t*($Q(TkFs_AK<)z za2jtl?5sX~(JpWxjkiR0*22CNQ&`1YH(GEqaC#XroL2~I0KQl41Dw|oPUEefowbIq z+XW7!-MLEEuuGu#*{)dE(0N+Odv*Z65VfC;aBy-!F82=N(rvTq)0P~>F z5mt}LK{B-dg7G&Kz6AKT0L+8FLRdX22gxYyYsUYE@GZdi9l$*3dxX_WIY{mV{lNG? z5`F^swgSw9enwcWl7r*~{R`v&O85=n`yF5&^asLekKv&Ie{-$O=vUnSC##2F+T%M# zmAo%m{<3`#P)~@{Zr|;DJwW;!F`R7#-rw{ofa$av2&X-{Q`E3BPLu2Rnyen3_S8;M zC2yyt+CB)R@$rNIcB7H0$~3Y6Gdo3Gqs1NXE*atYfAe_dBbasL^ zga=#VxM3d0gDt3YN{T#!uq#5&ZiL+dzC8feBM5wWNn2E|fcIqFy$E~rfPM4%& zi?HIuPWm7@l{8@dhJ;1{Ut@sbH>U~0X?!?pCvXEAejIK<1+dI&^y!4AtR8-fk9ui4 z$cSq{>~WeA_6PV5U_@i~>p+Cn8aYVDb_X&3!GuEqzC!`#L5Cr%_$ZmqNiL9@GydU( zOn|Qiz&xlW!itZc>4W6%Q!B=AO=tt~wFQ_5wL>_KkE;Fu-Q?Xpx3>!%P<*6L*HC)A z4v67&ByUKiN7rh zlP2B`dz_;P-2uL%8PRCsJrGWNXQ!}(cN^+y7dVi%ZYM5mub9HB_2Le3RByy^`Vjg8 zeEsYLoMRAH@5(_(bok_*>+oD&f5sm`7zpqU0+>EL7Gd?C93(jnX8hv_Ljb;^0P~<> z2&?zyAen?7&iEq;BLTkS0p>v`Ae{CA4%%7!qZ91{2h;|sp|ppS5W^Wo;8V4}Q|tqr zEQHfO+=**A+AeTFZIl|yBZ5K1aK;d_0lu;J0S-Uzr9P5_L}KF@KZh_L;L8P=jz1OQ zIuihcqE8|7{e-G`iklB7|D&g;eK??Au*iI}x>m4gXmJ=1Lf6SH8k(CwF)zgDp!Xji zEW+{vSU#wzFx)+yJwCS>%N1h5|9%C%OStGYBRRSG`6c?3XLZ7%{NTiip|QQgh50ox z%aD@VNS?S3jf;LF&3d3)DRsYc%~ARlwLT$yPAoTDe@zXGY>#er(nIzEo@|ZyZ()NFXtrTrg{G0lZ zoUKb)2y`YACK1Abj8B;+ercZrD*9x6D&p43&&t)GL&F;YVJANeAD*HXur)DU$gkrC z^0UUF^c07xsZ_nFgQHK|e~cu2MJPdC>zg%BF(_XNASIyq=sacZOeQ%65G?g*)X?t2 zOnkql)WUq$8vpJ18-Q(EjTzUbW4rdjv2EJ74Yg^<>`p^Yem=6Vja>`>#$oKKNW?jv za0cN_!ZgBJgz1DCfDFDBz@PdGKqvUl1|4ISa~Pdg2`IiApp9}Kg1(u6f5#~2BPTy! zNvMobW+4&h0>W&AD5u@;YM!!!OuV$`Bo_@Z3q0Qsq-#9cghc%i@m`AvVa4q3F!hFK@ zgav?%pO_hbiZ6C(8{Ggp#zqSnJz^ui>7i}37@Y4$z;Msb%3Z|CwoHXulXO=%A$33B zDyd9&bu-Jpgs_xw3n1e+riq{W1E4E?E9jU?FJtsbrT;`UUFqAw`R)LWie16YU6s1D zzFgC;LiHUJ^DY%~bM8bY{=cxL>+Z+DaVTLqt8f?LZo)l;dkOau?gwQ2%`EU!%txDI z1?U)4JizD?Qz%5!rg#XP?_t0&`-^_1^)Fq2Wyc+8XiVGI?c20&-?DwEQ|tDv#-T*c zBS_p|gJ&xKArOxV9>sCaN5slqDIzQ+J3y3N`ChM-v&e0eh7R{c1#@cX19 zar*KJB;q_tc#7~e;Tghe!n1%3KeJ#B9c*Y{J_kC+m(MeL#Fqgv#EakpIM8_s8>+U@ zFC*l81u&-6K4n+cD>af{3iDcAe0!$|z8`=`D zfsV1n>!6~RsE=q`)o+6Hy#*K&)4)q>S*d2d7D@XvqHVgg^VI5&T;a$Re zg!c&_5H=7#By0p^>>@_lO^osp=oq7X%;*t$>@G(61f1_vz-U7Uk(d3=H=avPq+gVd zx3zqRjQo3ui8x4%!$hC68eb4L6TSpw>?!r%Tk5|BbWHufV)RJ;_mTR41J3s?Ag@gQ z-GO7da;el9@;hYe-&btGYppnJ@ja{b1K~%)PlT<6p8**S#43%%D!+h^vC6NE9q9!<4Ou)}^`_cg089dup=9N-|4>|b{5d$C)j~e_q&Z$M<7sWFUmAW^V zx(7hV)V(&NN8Eq7)V(e^Up>HJxH+=GTdAM*#}qSLwQb#|ZG5MKbR_K0l&Z$rPu6F# zGYGp7b|vga*qyKkVNb$dguMy-05V#LNm_|X_5~edk_L<(F-aRSNh5H+#(;lE4o#4g zzpdB^fq3N56vsLH5t;!q+DY9zNZt1b9aHxM7(G(=j#Br7!1)daWR>;?T*bs*o6=NB z1qa7o1BFA7kH3@DJT1POAIe%BMrckroRA5~I6`c2q}ZSZ=olNcWb}v)x`+*0gY&fk zl$6?_q6?K(k!9KvykkL&n(_Jic1n3ycbY}F3WqOEZx`5LI z%&yo_J%#RuknbpfIlwHtERAU!eE%)8ZKpV=WV$0Oe=k;oe{r5cjz%I*4?<5uFF;0b zriY*Eiw!;A>fJB^ugh7O3 z34;L{{h26!Y9KbW4UPjHV}l`#95pLkx0Zjo^S%;M8ZjcjKNG4KQ#m!+9IPs$5`ZKMvquzD57mb zd?yQ>Z#2MY7xw&9bji@tmQkr`ry#QO4`XTh=f__h!^|;A#K|U%C4>m$2swoDfQ;cx z9zQh_8`>bbpkoYjDx*gXasr}lLVPC=oG%|>T!CnV*k6pRB6AcVBmapkEC1p&M zQmT_mb*u}Kk$)n~%D*@*u?UGciwQRpZX(=FSOUnH#FX(6Er`zR7| zRuWbb9wR(Xc!KaG;VHt?gl7n=0U6VnC4Oo;HndTm1s!9Q=NLU=lo^P&3Gtm5z-j5c zhz)hN&@Un6dl^vecSl}9CjN6+eE!8Ln>9$pd6n=Q;dR0rgf|Iq0W!{I^7yHl*w7YQ z3p&O^Z!>ztLgypeCd7Bvf%B~g42k*DQEA6g;d$gXErVm*jtjLP(>mBb7z&ML`tKrX z|16e{e{tSieh-N_?-M>CY#@9{*hu(@@G&6c0_K6Ax)2-M3Y$R3Sm6^!k67U%MB9Y; z&S&6!p972u5qlgP`Sx3>Q7YBjeu13)7qhVZqd?>6Og1AC=S#vC!dHZ^3EvRDC45Kt zp6~-8;}YhEpSlbi+B`pkjxozX*R5wgED(V)FQ@IoQyK;J_%x5DHY(5OWc26XH8H!TC}F|JGD;8uIeb zV{!S1Ks-wE;W)=ns6}u98P_m9{M2>W&?X3gjxj-PMvrJ=KB8$8)CK3O2N+oTk=D{? zp+DzZk$H2h$l0;Oxa^J{JGJkW-L~ym6vatLs{ZR)F#g5)P(ghp;$#qZA?!-njj%gm z55k^=y#N^tm=S(zAvUxX_68keg?$)3VueMBrmfHboUb9^-=7L-gk1fLS#bWvITg^D zb!tLrO4yIk43Kdn6U9&6j16s({XxfAEL>EWlAVMALX6LgFfS}=OV3b!Gewn8g#zSe+|(dWN7G30)S ztF)a|>h?+-r0>6-MdV+cL$S6jeLF&XLI*-eLMOrzgwBK`30(+X0U38NOZ?PwY-r1L z107?TqZmD6nY$28TjpqRz8-*br;4HrmzNr;Qs>y7$jW~=OUpk${^B^t_F_eP6Z#PP z68aI2A@m1i+{5JYQ}K7aW5M|b1B`QtJ?4<_=vI+MjzeDl z6)Z0Q;v9+%VNHe-h7pDnMi534jwhS|$asKx;HMtKhBnKIpkvH(5~D}V@-U)lvz!dh zcM9O&GD{Zn@;}1j@-I%ajAl)OgfWC{!dOCxFpiJ|$as`_;HOq$Lz`th=oqu)GJ3=; zk0Y8k%LH(~Jixy*Ld{1`{wG*i{>3>$Enqzg2@?sE2w_4Ip_ouYm`s=g$as>u;isO) zhBnV>pkvH4mC+;SS&eAgJZFIOoe8L}Cz7WjZU3_@9{&)Cr#m?d$2rppGYDq`GM;04 z_^B7Lp{slj=$I;>%jl6Rzl>$jqerZ;9?`TF7J~CF0{rU_|13tP z{&!h!{>7<{8(F2B2saa!5S9{d0c5<#l<`v^U_)EwR?sn4S;puQt873tZI#=>`R)K1 z!w%zvCHP=>ZqE4PqS8}r0xQ7z9srmYDD%l-+W>fmH13BZA4FFEPgq*{i(}yR5E9Aw zlnF4M&#|Ga{4nU4Dn9}$T4gRCqpQ3UoNpDtxLJ+oL9Opg*%fXR{|%?dkdJ?})YXsj z#!=tLS&JtKPZFLYJWY6puo{r@rC8%DvBtBYW32HUqelerwOHc?aK0A-n7*eVNsHg|LS3D&aLi#9-!1+D|ROeOc zMx^iO+DN+H$9Yxy5ljCuVH4pK!l#7K2%i(aAZ#XlN!S9&_)RSHhgjw-&@qR*x<4T(hugywZN2RV!e?-duZ7ehY5Qs-1KjAoME8%Ct zFMtgF@&S{rf&1{f$NUv^j2(Vs^oSj5BARX%e}L0=_!Ao{P3XUb{+o0yp|>IAk0TbM$)~IkN;q?L7eTOH*3*{(3jAU za15b8VE`cG5V6K#VvT{IW2`ZV(IeJqF4h>l=wwEZ*r=7*C<~l#G~oaDYLFiXd{+sCzi4>|ceiWTDQUGrIw z0zx5SA|Rua7@)HlU=rvU1B4kpVt}qL&DLgnUx~|LXPWX~@uj6suB+ z4tFXNaZV?kK{%5z4Uo~D2{Y{;*w7vBS)gNVG@a2SHtH?LI2)Yr9Keaj4Mg+Fa`TK+ zi3iHhMHc=(QvEpl+Vfa}nS}ERvj`UuW)m(1Wb_q793zIf2y~1gE@t$IA^M9UE(Pbi z4A95E@X~dz$P)(RT874qZPj|**mj|I?Xt7=QWuvaJ^uiywZ8cJ=j)1GfkZL}O1+Mi zdR+-Rre0Tpiq>ne)N2kn-&{a7J9r+l@E<2tjnl!`umaZ-t|QDRTu)d)xB-wcL<})Z z46zV&j3E{=dc?uQ#Sk}w^W6j}ceGu#H-v9SR{jx{G{_QGWGUem!mWg5gxd(W12RU6 zK~4~Z+yOeqAa^o)#2_b$LGA+QyBkn_qs)7dx_^||0D*YUjQ8R==RU&ygcXDb02wDs z&9kKD4}y-V`9q8zsd-Rp{s=hVqX6SpR`kW1YItvZB{K4l5hKKTVqC>)JVtn&@B|WiG@Wi zdJJvTz9sU@%_+za6%@B>F)^4uA(#^?YO$Tn@LC<07i*E1JElcJsJLyr?MBAO?wvI# zQ);W#P`Fl)AasG|ikb6TWfqk5_#nC*$Zo9G1R{RUn@|CN zst`=%-VhjleX~w*i{2;uythU zU8li1)H{F9r$~oCH5H6@@n>MPi$7-;rwjds(3?r0A@r9*Zy|lA&|eAtHR)+WeTZl=QVi?dZ7;%`Vi6!gg#X0!$>a#?J1ST z*rBD;9MKwi4xikW4+GBOh@{1liH+(xOKiUgS|u$FmFyrowb6nGc+J$ttClv_nA&(H zstr9NQa8amt~T7W#LZ&kc1T%kqdl`&B6J6#JCa^1bSI&YAbpF_orOM<^fJ(%j=CK? zw4=Hp+TJm%b7i`#H9B3f+vx_-emV*pSCrd`D|0rFEkS#XuiF@oiQVs(Fq1y%j&iBT zOrNZ>e6rH?$)i!9M9$oI!VqPBvRusB2Ptcx^ko)z3EfZVV@TgEbbp}-kiJLgfkF== zeXr2R3O$(geL^26^bpeb3q4fmVWb}b?djNuutPg`IHJ|F*Pe7nfOAFyv^S5(#`wx# zBNY_qg}LesJl3gY%eLBScD~w2Cm=Vq)b!C3%SShxKDx>B(Icpn>m&C(`>0qZ3n^g;~2Bpr=E(QqNwm36h&QQ zT5q0Zy}73K=2+Hy+|znbh?(+{vbJ6Uvv^YILZK&;eoE*`LWfB|Ep(C4#iXARx>guaWfo5ge#P|YwMJKb{ZS*ByBS&n@PhH#sOdpdbp%rg@y zH?Z>To`WkWEIC#j3TKBV7CYx7hBFJGO?3e_?)^WQDyCH0Z00$6dsWaToQ;C3$)*WQ zEE5)+CM>c{xW?0juY%Ph_{)&8ZX1^~i`PMWD)LP+`4xzk9&@U4t_0~^1<+Q$8XLux z?sQ}F$lTHCl3mCg3U}Ij?fE)zJc^Q zp%)6hi1d1)7YltO>34;`N$8tNzbEt(p_h_=U+7zezLoR`LN62gHqsk}zFp`$NPj5w zokA}sy;119gua{f$DlpM@CkP4?&%&xYiNkK?253?y@=x62hh^E9~*PZZGdr{Zla@E z^JYdS*V{xBv!^b%TT0!=R-kO^7*jm`Eb;U;#nZO)g zY&=@7pQ`Ab5;L_HQ=)$`y%l>TyMpIX1J%*=W(Uig?M-jCv%L8oOz3*kJ?VTej(7zr zYj3V$7C#96s?e{I{!!@Hg?@wdPeQ*b^joC23cXh7w@Lpj^gBYYBmFCAPv8HJ9oqNn z5v@t7@9iguWdS|sUBq(U18A4OkBtT8x;*}->799|es0-wFsTn<&ZWj7W(ltPP zx+xVqw41gd+IFTG*^fD2A&&DkKs)IhY*f!ILaAD!U8>tt=or>t|+BOXy#O{*|;N^lw7{PP#T|Pp{O)4(*jc z5Y0g&iL7Ys{K?>70PTRku`#C7V;eVhoTl1E@356}G~PDkqf$)cZTr=@6Q=$~$eo`1 z3xU$V`eKeWJh7sU=fj4|5E^%4BXlj&y9n(F9U#4{(6xoGLwYx%>k3_u z^zK5Z3tgY|9ztgby$k6*h2B-@-AL~x^zK6ML3(eY_Y`_B()$R#x6u2LZU9=G&go6} zwofDM&`#eM(RS1n8z7F;5TKRN2piQp+aGVcYm9=ajZw9v&OqQpOFA1&>3m>GrwPna zRys|^s0ScrEu90I#ePB`B=o_gn+bi0(1(&f0JOLOwE`kL(J0A zPIJU?4hLulWMbp;sytzp%~6jcv9zpvo@&{mw4d~d&X(H(#Zs@C=6}^P{~FW$uUO_k z1g0o!{zJu}?U1rIe|u(en9v=B?nt`1(4B-ng7o1+cNY3c(wRbc5xOhsmY~I1@Kvd^ zT4RTHRyRazU22Ppu5s-gh2xy=0PVt~vGGc|F07hiW<`q@@wMyec7~@boCN*f19eg> zP5(b?`Tr5q{|{UKZwu?X{&!D%?Zij@kh1pwG0dX9(EWuTK)Qp_1BD($x}(s?3O$%~ zC!voMdI;&xpvC`IW9@<++W$ilEgt_5!*R}VfcF0gY$TfhN1{&ZR@48tSpHvX`hSV# z|E{oZS^swvo1cu7&8zLQb8^lph~i`cw0TEkyr_d9G&LiDR=zO6INcREl z**f}Rhi)B(h_?Mx*+j%}CIPgg!q}*8M|qsCqECFgeO?95Zbc}my4ZBoMV6y3G#xeD za#VjwdMh>fQrW$mcbnZ-b%&k*`d(u0JaCiGdPj}>~l&@)I67W!rqDXWvS! zc+qw1n}q_a(@dvMv79>DbZUv^)DbY5>s0q*W26}V5~Qr1dMUFwUg*n&zMS+4LSG^D zm84G;`YNHXCVi67bA+Bt`ee|aPR+s&?bLaQ*0|I%_Km9O`=`z|h~!)g(4M>w8@H6} z$*LKjc$TBW&vr!1t=%{urB!21H)dOI9AmmMXt^;6Be`yLM;>Fu)Qgd_cH@oAB3tO2 zguYqlEc6ngmy!+%eT&eyk{&1YGNErHog?(^Lf=7}-wxQs?)*-nmyuz6trr7#*q^!OE2D6wZ^qWGzMfxnE z*9!eM>FGkhBlJ4bGlX6*^t+_b7WzG*-zR-8XixXf#18G=4-lVJ_n)5wC zyYUBX{Kwt+BdVb4m~O0XxiMh6(XrfkIc!(fjaP_8e?!VU?)QF2Eawk^Ht3(&c;x@k zE~>06{0kLOHB56V%bY2uIk){{&XHf`Y0j&`ZepvbiKPg2t4PI$nj>_Y&_2?0h4u?w zi}XC99iaoHuMxVo&~->(D|B6<>ye%h+OrKUzz*Gp(h)6oU}LXO>C{IQCj+3}y$d#~ zbh^|Yxax1F>}V8Y7f_$ic15w&S8$H|Z2FdH0FJ=3>0ct`-ssqDIdLIu;kF6)e6~m| zx;IkRPTYrCEEalSp&O9CQRs$3HzIwL(2a#|Li%Q*n+m-j=_Nup6MBErw}AF^;xg>e zPCNk7_OZ@q)=GNLf!OaH1kfHl7#qv~4-M8T)Ar9`c2u6a4nd*S+opflTK;{@^zWON ze{X}CT>rYKuG__UEs%0-3$TaDPD?~_S^>2ET4ST?TY#PAj#@xWY+9%diltsQE%cIQ zp%+aHy)6NfO1l|l~{dKl?dLJt>u1nI|w z9x3$kq#qah1ffqP{e;jb2|bGRlR}>?^eLpD5;{xh(WIXiIwq!?nPL#tmB!Mp=pZQmMJbUO)<+d#Ve*M++K7I*iGz3&p^t$0iMY$ zUKM(p&}Wf;P3Y-D&mjG}&}R#M4(T_9K3C}TNWUrcOrg&w{g%+Pgua0E+n_xg$vW)N zjbt{WrN?}I%DE7va}hwh?qY0IPcIsiFP`6RnHhO=BJwVI?0%jKFF|Qk*mU9~%ZU?B zCl*>xd>552tLOK`bXOr|?Zm5@#rs0f5qd7^4}_j4^fjb62z{;4*OC5E==nllPkN)! z3xvLb^hZK36nYWqkA+?=^o^uH0qyBqeossL_9jF#9$2vl64_)_S* zgua{f7NPGE`d-rf64)ko3HJ$oKk2W9ULo`Yq`wjRL7^Wa{jJas3;hV`?}UC-=#`|u z7kZV@kCFaC=*NYAg7i1%8uS!)I!^<%UY^0mylOsI+IsmXZwswP z>C_RXLONLr>1ZmXgQbvPVT`g0`Atmv5>nO*d6`-KF7zuxuOa=1(60*p8tFfUeqHD{ zNdG1Dn?k=u`fs7v3jH?eZ9=~z^g7ZC@2Yz`wXdiupjgyV>6;_VO z2?z6=^v2>ZMNJMqtz-K`THxU021Kw4R_7_e$`Xa)CWAu7P4t)JuyjjNC?CrKVab=t zZ8Pz7(^QO~GJ6J#gSx~07FnqJrajXwd)71US=X{>Ix6AX(;Yt57gKCS%G#bkGm8wN ze-Zju(z^)#o6x_L-c{&7g#MHCZbJVh^xvd+7kZn}{M4P=LuiGNE=dj2dkS4s=v2~s z37saikMusEJzdxUJG2Y^i1tsO8K{N$jswsx4q#)|ztaq>?J-h=dhLhmW` zUZk4|y|>W&kUjvk_?e}4pA3%|I2|b$hF+vB09z(jn(Ah$dB|Q+dc-ZO*j>Qh`;Si!3LuA|7 z@>xh{9AY^+0PW)O*eJjAu8ya`q#zY`yL$lro{RFTxu)OeSbo3S^!rto-;aZxT)(^L z;UQw}LZqzyK9N}r6?&4;Vba5dE)u$!^l+g|gq}=#gwRujK8^H9p{ELcI_cwuK11j; zNuMC}G@;KTeG+I-Ih>3gS`O0@ZO3w$fmqJj04;}euras#TDA;GA&xU2pgn&* zHmdZMFT4AR&VNHD{7W#If?;u?y^qoR4CtWP`T|(bYx`ZN@Q)XX|Reb75C(Dme}?Qq^za#B(s<<^ix7VO?rmV&j`Jm z^w~l`EA(@u&js!2pqbdA9rQe+#Xbb!PAKbVQk)kM#d#5++we=+_*b6qwM$XqGkN4W z8g}I`qok^h>8aM1r&^hwY8mxZWW}#pFi%-eT_8q&11W1yy~!+Q3;mYRYe`=y^xHze zL;512*9pCz^uql z#NLLg$Ze{Rk+W)OdZvNpnSD*q>|=T6Dpb(*jC+#3TFmqXQr4c?%q->z{iV=bNY54e zE1|z8Jx}Owg#MQFH9~(U^!KE%75WFEeNjbim0 z(1eynO`y6-=v1N8NZ%~9PiQ~sB|_H{+9ADE=z!3*N#7!L9ii)zUIyCJ(YIrVc62>N zGdg0A2cn&HL~-f^v~x4CQKe5~d1Sf02P-_D(qON<3yP(_-fB!@eiaRH${?V&AmmPB zeu+ToB<7v4MOi2Elf!x_wHH#x|0&Mi%;GMg_Yrzu(sv8pK<7?ZX@-r3Rodh{>>N`B?WNLp?9Df?%a&Kqi|vn6 zs`pGMy=ysXz3HTNmXjWYWy(6~A+hhFNE!d9IEOKdN6NGBO0jQqMBCmIoQGq-lL^q) zZGnyX)ooq-S)=XF|JqS0|CT7BdeyY-8q2b;n3jFnvg~7?mVI0-+a4+7{}iVKvv@-2 zjzV`L{iM)G2;G_VQ$impbQjW33*A-dZls?P`Y55hlU^?zd#{63kY%f$@9Ox)&UT zl<_}iP?^OmLJt=DIMVzkwT?YR=%J)v6?&M^!%4p;^a!Cxl70iUr(@s34(-_E5p9Pn zIG=z>+Mg$4qYAG6J+J266{Gcag4q}DAUfOZNv!S7rn7FcoOPq=ti@4hMK0;yhAGNA z>m4y@5GmvT6lV;xSSNJ0&|^uj7dj;LIMVM5og?&k((i-z^vVY8&|b+!H1C@=r(%yY z0igYnhmGsYZC{nS;5MG+tla&Zd=yb#X?o@g%QKgop1CaQnaCyFMwr9(jC-;Dkr=fI zDdYbXrYfd#nsMnRD5(mYQkrB*X`(5mLQ6{D!8~Q9^t~AEDx_SmRPvmYbgl;H z%mHXC&BeydYHn$IDs%@^pX}`Bp)6{=X@?xk4&zKage*J!=xK+az-kRHK+5gio+$@{NR~$ zH)1&V0JJIZ#YT0v|FVU^1rHV#`)A9F-G`E@0jACRTQ)n!v{^sPW`BFyY@68ZVWe!_ z2eF?T95}T5sln5nM-az(6rioP5*v3^bARAD?unG9!cPoFqqEysg(9n?P4jiP%y*P& zzHXNJ6k2Xs$<+X>yN#!jGX76-o?#X>g9GJ~%Gw0qWIqr`Yz(E2c3WyVENa%53V2-ths%2$!KYH6Ceg=OYU)69ok zX0DC8l{Ir6vCvwijQ>-dx0yvPuNV4V(&<9KC-nQI>kIvX&>Ki+2>qeZ z8%ggX^hZK}OnO(LHwpa->D`3>ROru0?=JM`LVrPe51}^;{UzzWK#LAg_0j>)KG>mk zum#a#zku--IOl7C7Q;8#IHNkmpuc~C%at8{6ysYIK-D)Tk#0$%o+*jCmLwXWnq?)? zP>i(|DdYbX=VxZoNa$aL{*`oNG1YGfmHTXuEdTR6A~}BmwC(=HMm0X$BWw5UVASK@ zNRs&M&;CNuR1MRr%Cc&TY1M5%nbVX_O{==MAodgU)vO)0YAQBVGojOj_L1ISXur_4 zNFN}yBXofDfkM|7x(?}sgsv-eJ<Sz#?Txg-54?uEp{Ng3pi(2 zfOhC^*a(-`7~;5}P|-o_?#Net2`{)Wxo?gJ*sKHU3xwQB<1wWIFOe%aOfcrm{NkEynJTl(i!VFpEAy4-|S3>ApfAEA(K}{e(VF=pm$!5qhZ5 z!$|iRdbrRdNDmNtq|nEc9t7Ic?SrvHyZr=2tN527Peg3zB!CvdC~Q1j%@;`avt#c3 zP4v^06@K2N%z+$ToQ(3T8%;edw)C*b)Wbqc4?|$TvU(UQUdTquS`TBH#W0~mLXRUo zT<9F3$CDl*bgs~+k{&7a1flatA1`#i&;_JV5V}z4iKI^ydXms#(kBUBBy=(9lR zEg_v}3h7)+NI{s=6_Pvf86ysvj+C{KW-yCvq0bij9MWTjK3C}TNQZ=;DfIcI#|b@4 z=nF`X2kq(XQ?Wxkdp4r&Xa?m%#BnYHXvbcRjcd#8AmVUr6;GF3g7T@b>9 zdm3-qn5+0Y*JG!%0H8f{12z_y>zT^Tp13`2X4F|_Uc|GP@om|noD%CtAQqyWYP9L0 zEXzZum>xRW@=yuP;(Ev(nobsDEkVi^y4}4L5uIBA+HkjGBY~DyS%&JU5vF~ITlO7h z+IOgB-_tzpI~A-R+untgbqlzgS)4BPJwo40`V67(6Z(GAX9~SS=m$to6Z%1+A0j;+ zv}eOO8#{Evco@;jZ5WSWr}HR4`*$TaE-klV#NTCAsuiq4q14f)m%3YCI?D7?H_J=s z!Uk?DaL+I2i6x&#%GyiMFpHT&uNL}Q(&r2PoY2pco+b1PLcd7*0-;|L`eo9yg?>fo zHKZ>T`cYL6$czN9oIY;|j6Cdq`P(<9%jvRe3g;BR2Q|(aP2J z2JCb`1ZcBt#KwQ2!~Y27RE^be$O5c)@#11X>t%z3c zoUXjD`7fTMfx_O9iaoH zZx_0@&~-@P30jquE`+qx>mpj&sk3@uopgZqa(!%+zpPa}Co7M~Sb65!{^OO1 zKrd#XH0qlljp^U7qXG8d0reF^?)2{#1WKPNz6Z5-z385$?ggvI5_=+L?XJC;#eG8W zE%ZL5?-zPsp&O81A#_8b8&_g76*j1INUQpEdx*aJ{p^{(l~^_CacnO=Oy^5RO^$n~Pz7FUU-4@1h@ zi_MwEV?rM;bSCM?g>E5qOVUpW-Ad@zq@M!q>8@w6L%XXDqD6)YZL#IF18A?b$3|g! z!-UE>WqTus4#-qJZ`$@b%eK#&wq0%6_E}V@tZknYvvfhq+O}Pp#S4a6*!E=fl>Rby z@K-~viAGTf@j!g@Q~%P~`VK3-h&#F@H*aj_(DA`=Xe_Si^y)fO2L!b3vE!Eg>>OkSvWUN8qY@332?zJ){^MX&RQgvRAz*`D0O0xLa~J0&fP zDF?C!mtYB>?Eayt>7|>)3MYgL>SXmO$>Reqc-*DX$>Jo<(ZQlnt*jBDa1m0hm(@2| zG`@RYPGLB=czpg|b`W2&!J0wE;ljLKvWDWHf*fXtYz7B&!@Elwx?;t-V{-Fyi>Las zSdF4|olxoV%I{C9QB(i?HEPtV7p+>f6z!rxWHv50rz9LSD~qLx+i?WB}MKZz-&K2S^`s#uIY0#097O#LXP2MqnF6-FSS?l;AB zpCzVuJjJvwDW=30)3H#DFCwOZGuRc$Kt!#ylAJ1f1htU7bK(Ej6U1mKcG6y4lp#O_r|S^U_uN2VfWBY*-^@ ze~e>i;6W_}d>m9EJY;D1Rw;PCRpGxCe_sB1jp;eF8cjLkvJJC4KHu=I8jpk?Zqjh{ z30>ztb7iQ}1=l~>ZMWUGtmt+}Myutu-)yt`o6${k4xhKzm#uDHzN+pbe~SawO?#y9 zh4jBpxb&@e+kG;i)5X1d_`lfH`Md*n>$3cXt#i*UocH`MeFlFzZ`9b2_gdI%!%q_q zJ#3dgcRn3DZ0pmt(oSBMz5yl0f`lnGT0P!z#GUO2wNo3xaBwa|OYGD?#Y+R8&sFMY zz~s14maLQ(G&OO?g;{72#<*~_+fssTDK{96LoF}@0d>9EQs!GN<#UL}9T&=FX6hG7 zDT#g(b6l7M#l$@K7;whBg36_!<{BDObBsVhU2O{LDoaqCJq7h;Qc#I4s6r^lc%C6T zht_XwsGt~E{(Al_;7oJ{Hi-he)Xy8Y(d=x#q4kj?rv9L z_fTMi3{9zlMj)UDm;&o>2`tT1V7{cl5?f#oLNPmZ?{#Ux}@+$Dx?=r{JD&mGvZ*)zuJ_>S6=}>PS;roh@ZKp2`X&m6h1adJc+- zPQg9z%IF2ksJ)>a)y@b6R9jOK_s&RhrDIm%vkSAEFr;Q*ayI_VE$hMWNg6?XJ|;J8G(RGH3e1E5>!)9LG70mRALKi8x)fsy~RH$RGitjxOif~NvSJum?~_k zzki4Htqg9hg*9Vk;^gig8~vt?vpcgF^bo(2n}r2w+7NQ%GAZAsyr? zq=S<}N^BwR3B~LabF$0CTku0dlS)EG#Q|q8S6q8jT%Q?wQlA=ufcnG~*CtC`hj@zX z(4@E$TU?Ey7<;C+iL0ijRMQ4SK&XVysnR zTDoFtMKP^0^rK!e0s-~1DW;b!F?IA5Q>Ubu5?f3ipcr?!-q96OCkp9VLpy4<5eTSf zOd&mO3F!z=A$3j)DY1pr4T>pmRhXk(U3I6f9y6q*Rv7`TfoAIJQA<}xdg&^?D_DNn z*j-r#i@@k#dN=IRcby+Rebk7(+isk#x`W~93;$TZ)IMO6cbyaXu5%yA&KQ05b@kYf zdVIi;pju%Bu#B3i$NMZj_JwHNyUys{q%0`Lp41xcswqe{-CzhvEieLDWXx34d`nG(Jk@k;Qca1irW`{} zJ%hzTtT5)PDVJ)RYY0fqF#=d&%v94=mYN28s_D3-ni5-0g;0!4S{9N1V2A5ntX+8S`a72``0UqDKA(I>i@SFjxa7>~wLcwyd&LQOLQSO(2(A7@zYV>CqLPJ6iPT?CU-O6)Fo78K)Nq+Z|( zX*Pv4+0c$EF#=c!%@k6RC8RN4LP{SCwn824|9zG35K3yl)szE9I$HFxrEfLmV@I;1 zP2i69GBg9DqrKd1A6Kw_6c|lHg-w>mgT7 z4^vIO4FRcMMgZ%WnQH1`sp&LNHBC*bDY4b`I25y6^t}`L0?I&qT^08%o^WOLBxTjr zP?G9m1h9yiDXY$wtWNimRr;A={~Plj(@;`--eWo#&U6){7N|4z zc$lTf>meFfkM3QZ1xYC-_SohfD8?QsuXEM3o@zSK5Rf{+2w;IaQ%%h*HQnH;riDp0 zCAOMAG}IJ%LTsa}rjMwmMuvb?LnDCY+)Op?YpH3Gr#iP!1>3a&P zo}nF8*9c%WH&aNpEg{|PDWoMyAtknuet}}FCs==V#q=A+ zP-j0I(o$QE02X^Qb@rpBv)ep%c6(B1iLJAAC}!8F&W4491x3MZj@Y59`mU-nsH$%a zA*rv809Jl8Rkg)Z)g7Lyx-+S%awP>eikf_H^72jmt^!g6n}qV}euJ~Kq5J~aYZ z?#)!xCQDJvJr#9VQc;PmsK!u?#|uMETuC*hq&65TQXd!rtode2>OD(RcY8@H{a&z( zaLaIqFAV+PpJTrdCAIJ8t^gzVb9viS)>cV<6g!f)niBX{(?Mtk#;wnT-S%+^+sE5R zlTd4o09L6p+sB($`&bFll)croDk-JJ?s8i|F*03(Ra*m2OIJ*-D5f=re$*>Q0ISrQ zVtUCE(_@}udORtn#1>NrD8{~T+0j)~C#vaLLqKY^5x`P)rkb9%)bxa>nx0ImDY4bm z4T^DZ2^{4LsXK-An4ulD$_QX>I#WoGT0(ltOGxR@fc_89OvFdPHQ*pK5t z{!(ATj^r3HfyaP-&Bl%MDGbJBH|u!f$gsGBTBz2T{-Hjz+X-I~UWRpXbs z2|JS4tqFYHIt9(ZxNbeoZ68zFKF&9qgqmptuo$4(KF+n;$0rbtd)?~3Ci7`hN{QXk zPKRQwdlxfYF`Z2@on`1pO)~;mInNZ+8J3tn^AywPNiik1m}WsS?pgZ+S4gudq{)VM zREZJ5%6X=ciYy_0;VGoeNg*Y+kS>E_%KO63<*u%-psorGDXDxTfEDLVT}`lb^`)1t z(!T<`2qUSTe>C_tN@|Y=zXjuY7h@}SBu9e@JQ|#bW?+m4uW{SQwQL{bj3%K%MgR-w zne8LnY9BvCH1257y^HZnQc8*4?=FO5>?y%Tu9_B8O{W+FQYRY$tfObD=_E@{zj~_a zx1^d9TTQn>G462iR#!;ND5MdFcGPeqfaUW{Aq};J^t+dk(*Fee-#Bgmg_7E*?QLM> z0aQ-p@F9fjI^f}hG=K86-MuJ*Puq8)85pPSyWRG258KBeqe-ZNMgXe%)joU> zjeFX5Cvp5qDJ6DC`ydok_AQc!Ttz)hMfEmBqs)wbhTAqq>l8Q=fMLiD1 zxTo$XTp>M4A$2vhqq-OYtOaNask0@dfTxgZCxw*QLV6C0v9Bnech&R))zsb)kZNZH zu*jULrZ$$E>UgTDZc%UhHyluB6TUOsfG4;9^6z7H8 zWJVWe3OL`ng8H6hJH&_2Y~H){jG|bp1F4O4pCu$4g`B4Z!|4?kzP$N$q<}jlp<65^?}`Bp(S$;CoAc zGy~(_QZ2WAIBXw38%;uOH3C@o&TJn)TJ7UNh^FklrGt`EO6)#39g49haO=Bj%AlIQ zF$AQ(HUe1h&Q#MDOHBuRs_BrVni5-0dqOepeWkrzA?-~eeP(D!eQE@-%$+HuO_q=j z^%7EgbFlx7)Ar#gseRgR0Y)AP!P6k_FSQ+ZBv0E3eA;e|W?-DQo4Deqe-X_ zi~!c`Guy{|R{LlV(Ud)HcSuSpu{+v>pcuEKJ=hh}Ar#WvhIZ6iBY?&2Od-8#38|x} zkUAxWl-NRQ0maC@vB=_fu9#X;Olu7Ns8@^t7Pm9S^pYi}BRs{_IVq;Z7E=c(rkpz& z9bH*g+zdX%fC?o`ubhJe&6BY>su zOf@}fsi~`%n$nK~y9k5wo&P1V?kK5!Y0(3W=cPqI>_}c(B=Dt0A2b8w(xR{1KKikJ zJYX~l^}qJ+JwB@9?jLvt!X-giB1MAAtq4M?fz$_usz9V%q5?rGmwJI1mt+g%jt~`r zQWa{^P|B?q4YhKq1%nm^Edr$|)GAO#pjIxARX_ycvD}`v`uj{c^W{68ncCOypU2E= zQh1r~*-sB=ci(gNoY}MAUBe2ry5r;H1#NuX1T=JNK_3#kIZ*O@Z#x8H=+q*IAPtp} zRxvwbB`eUw(TGKSxs%c2j z67t)dFIbkgVo2Nn#!= z(AJK#nyaz8)y69JT`a8~rxv$iOZ8KW5m;h7wTRtSYwpx&<4)zWJ0(AvTNi&n7Wi~- zK5hu-OCFyu6=7_%^QB@M^d)l8KgPznn9T~bAmoGoQEku{0F8ORln9jkel3{Uk0uB2(r292U z&mGW{ga#tq@r!sAnm zmoN;pm+`eULe|L<(w_|q(T^4A*vCgmUu}du1~znZK|LTJ519Pk-)?{ycAmPCC~cCI zdNDoX23DYFAE$JkMyb+DX-=TzH>KAhrbYCzdtCCLF{HRWF(GkZ?)eYfZzWmVq^xTg zCefW0=-U9HLbiB;CzAj@xA+aZQ#Kz0zMof1+8vm>rz1v>U|NL@5YKea-d7a;i! zX*a~^XBT@&(_X2mBLgHlumUanxTf}+rujBav4vP#JI*c^VN3P1izl!|o?XZ*SLBa6 z!$@9&8^YOz$7dJ&F$~xN;Q<;S2j%!^&4z?%#R@baeX8N=dv6H6226{#tQN!Af5>k@`ZG-m~R5OP_~G+Dp2%6cZq z@>|xY5Yt4Lg&u?i>ZAnKgc%ZzS%Dse98@C>)KV*`WdW4mpw2){vfM$T^B^%gCmGde zazs5=pz|PSR99oP+{$Q0VB|NWFCgafXbL3ijfz*i(nRifng>a0N=*mxoA~@w-gJ-^ zXgY}MLeoJM7n%dM*W6p!T5-9n-qiq8*+8g$5 z2~#_XX&>_=-e(0m^l?n@X_$U%#k4+P@*C5Y5EGrLb|OZdC8Kwl9I=ZP=+DO)y{$2N z)yil?VB|NWt`I{9f87XDriAnsvm@SQ1$y&wNN;G6Hd-NV3XuGUbS=afQ?We=R8I-& zHD*X`VFkMKaZsBzP`|T++8jXn4XQW9=#w0MNK=;7^eO`+*0Ta#`M9Q6G)=#^YT6Ps z`K@UH#5g{tFpyYfOI9y3Nn#Bv(9DjrdO>6LnvGR#E0)%dDUWT~Qhmzf4J=U?maFC^ zr!jq#yc0KsDG!gQJceKxuqlrm8XrUD_*lh;gjmT6^yuT`<5_Kd{0V4i%7ZQ|e>+g} zd$&6RVp?5zgFdUcczhzS=1Sn~!m>nuK{>v9c_jH7C4DVrq{K6uJr`J62!2 zf-k>)jfNQgAaM+7%9Wa)WPrqCR-kPk*Yt#@>0PU)-9eMzn(`rrCPNAcQbIzS&+LeK ztU#ka4r#6iX^$1s-T=vONJS8HIeXd5&dAD-7nWya7na9M^Ww$jsVT+8t3>j8jENGn zS%H>toY$iouRmLPy%%`-&1(|Gs8_x3;|oUuCBOH!k3h_qox{!~U$dmIdl@M)krn8B$9$trYs~)i=?Kp43LPk z0$t*`raVp4ahs;t2`sH0hlMAxrTSsvXINr8ER6kct+`WwH}2Fw9d|0ZF7A9d*7f*U z_bH5RcC1@PgMNt|^mnmwF79Lny7}=zf4es5lYz!O)~y#P`TY{I3}U|QSa&)3S|NQ6 zXQae!tUy~o?rWIltG?A&gW$_=U(Z2|euz>{npR6qgBc((h!tq-$2HxoX=-TIloB-g zt?4C*p);qo1Zkaw)SuZA{aAtScN|h*4N|HVQlkLLZ%7*;=1bnM*+{%LNnX8}C~*TT z&=HUGx=!PDk(F2Dz{_u5uS1M_)jR)w%~sO1O=`M^0TSI=fi8Gl)76@$CN@p6rdV1# zPR!G=rTCLnCv!uO;VZ8h++8$7Y5kaGOWY97VLd*F-Hu_v&S7`Z_}D4OM+O@b;wo04 zxgQ@NU9|CWDbUb4EM0SWS)kHttA<>Ez=#0lfU8aF*Z3WdPfbtvEA&7}S#Cw<+9g&PKVRA%s zR-g?YXVgq%)Yi(VU0~!lqfa4*=0Q#nq>~a-6J|#=W(C^caY&6cNME-?Y9Ao^4e1QT z#0JMFl@}G(wCcR6tVnjkBT?t1sQL_%sK*L)!sDXqYND>NiHdc^(%NyddL_0Lf7r=t zXOz}=k-OEJJC$kNsjH(qWi)*5i5tQhxW{MUUtnyrGw`G|>Q9K@#OKF(e?nHEKOw3M z{RvTA=uh};1FXx)RY*dNk+$+9C3^lXimr(9n~21vNGx&82Qbp1;o%fQaV9uDItBt?1&Fpfi8X= z(gzx(K2}Is0g~U4+CYpk3D}lEwUeOsF+<{gR-ls~2lbu?>P9Q5z5$fqpss`%_3rTb z%eFg_rp{8+y9|)n#R@d^FDLuZ%2#PJNKzBgyakJ*}R-mCN2KrFuut3T0-CS>o(O)$CkftoD z=~V_utY-zf19DBTXqvuj)pT3Xjn`dPUZVpqzj+lwOo!;36#EuUC@v~Q zAH6|E_r%9%$OHAP!os5RntrlqBwI|*N~E*L7%efI6=r;vrU`wH{YBLsNCPRaIV4<+rM-5EF}3;Ycgv zmPBDmYRWVcHC>8&kRcLNSb=7AT-5!VsC%rU;z5+(q8@>mrWZQP_8nG`TUwl&GLuNn zlBDisio`@#p#K~vRi=>|Yak;_h zntxOtsxvkJk=B#G{rJ9FJ+`)br_Rgqb!}UX8P#k4?|%|+J@e`ghf7m6u z<4{^J(JjRd_V=sG)Jo|6s)^A`jQ6YV#|`2ADv#f0idDxtLQ_iQvxNw_uC5~Cf2X8JW*cJzchD3d{R;AIP~WuQH!Lgu?&%j zvjYA3xTri$)Pq)0Q-dhKMLh*EG#y+;kd{bDcQHHSPFA4j8;5ke25FiV()0kyZ%E4^ zMt>`PIcZuUH4SHg#BHoVhc~Win5O9mR!uX4Ccia3$26UPE4`XDt(KYwGeBYxE70MM zYr0v}^h2wrhk_=*HN6Be+FMm?3DY`>sXy~0`mq9C-Z-Yd8m5P>m>vn3{Km8aVk~nf z8;R5=Nvao9ByL~@I=gXF*J-3?+DOHIgr!w-M&irnPEO_Szw&|cjk2fQUHPrwG<|b> zr@~D%vgmtOa@?Yw*WMVp7tnRVN@etgqkev~}3{il`H+k1RGrFwVg zKm5;&S8sm#)rQrXV&SHSE$3~j?EKsOp>xXzKfAcB-`b_6BR^@e^WwMGzw-PqrVpI* z*2jNeJmXh$W8Z4p`_)#R({8+dOL?C7J5Rnvl?$!|@&A%>iKIM|5BX8o6;u?KMaX zt&kQ4NPa`w4>4-Dbp9mu0BJfXHMM4dL@QRHiyPN;nWpJyR!vU?O@3=S1Tor4>S4lk zL}I#x`4P=ofnIJLQ!@?I&#jmi2TXor`V?Z!OGZwRsFPAu6NX4MW(AtMaZ!ylQBPV$ zJrzXxE$R#tHF)BLcxfUJm$jWGQRk$n`V5h%#|kucHJ27=9C^C5h%tIwr4y)@64Xb`kob@lXqLu7 zeV~DQ-U{l40LpJrZ6HRS%?^&2XACSa$JOd>NmM&2Y9B)+-e(26rEyX3X`+5(6}2Xa z@>|rE5EHcn?L>?^OGfW9Ibs(p&?b#DdRt@kqLtB0fsx;gx)SUSo*F7FM9g85gx#6ZNuH)GI-h z-=ca$jCz;yd}Gi)q$x{kdX)hZ>sf&wXI#@Onx@}cHLVYt{MIx8V(8+DfdnaALVA(e z5o=h1_GTQ?3mT+Xt&lbZNPa^a0x_3HA8J?UbQvS!ci$Q>nHVoCPff`oTtg+URm_uE z$qF<%Xf* zK9;f}A)a9cdbjcM@w7HR{s=VY-2a<_lHWVu(GX+I(2gNcxf0Zq%#c{j3iNN|pq|h` zy=4WpJ%I8XR6fK+^JxXdC?OfmXL7_mR-jKCXEax1w8P41XJF(vqauh=^J&B4c@s;~ z=l~trNK}aw^%z4WX0rkv*|?}jHBo=Eih4VU@>|p-h@tb<$pooFLVB3l5f8BfP1rc3 z85*Q_tdMpENPa__3NiXL+BDKMU21xe0TNSKfd*_`)BT#JcdeRs2Tgu!dIVxrbNB3f z(2Nu>bT$1*(S(gy&62F{Ws<~1R-g$RXH}-L+GArC`!kl-j(Lywu%-CJ<~`m=Dd#=v zVJZJf{s1?Gc@K~0Js!s}VDlc8G(P6Y@lnWzgqXkz^iSjCW1KcV{t7hayvK)ulHa@C z1rVb?V}-e9v`!;TizKG8%#Vn(097^jkpRhWNXsCmdGuBo_DUK3CYQ$x%g*-=Urw%8NLRxdC2<=o&_s>9 z8m77W*ybws36@sjQ0hzD%Iqy$zoJda#BWaSoYir`O<7eB_r2r?C8tMk{QLFqjE>K) zYV+G=-+R4J{?5nl`}@iMQ|=r3^8;5r+N@+ji%ysQ=KXg**?sBA#-FELynl0|QL8In zKe*ubGspKfxoP#_ra7&Toyps9_SbEP%)8^~&40Ij@P>Hao^LfOT)y+;9u4l!%=+8f zOFu{*KXY8KgRx`SQv6A(v!!6_)>(<)4-%iERBdHaaEtsaf09q(hHy0K@zLOO7zXTU zu$solYB@dzvmqe{u>x)3`1rV48y}~EhK>fQo9>xF$?yH{OAtdZ;A;ueIti&ivm^Sk z0xjVVA3iDG_HWH{!5>zi{NZh~*G=$@zuG2vM zuNBna11P^iy$&&IviW>xnXRO0o78j-10=e$0`1edrmHng|FCNMXVB!grtJ`8|5lEeyiFIF{*t--=e~?iTsJBHQ%9@kzH6;o;x1j z2)T!N?UlSbGEt%fE6`kx^J=g0lIM2j!MVWFaGvM!dES1AQB$=wUoU!qFddYbS~EYQ z6)VtNjbpk@!&JwLscyjJ_rB^7#HhDhwS84;%3)%4M6$YsNfOOjfi7#DRWprMvXxc6 zz{+n{pF&Jpblx{8w=g$9J^^p#r>2}BQzxaVCXA72%nI~b@EC8SRyBF1(wRc>L)o3H-r~+k6+BsU>K+u^P2Zv&(a7vCr3zq zHYh|rR-kVjA0c(M5ppru(2*f^18){E`MuZu0%F)Z07=cLM;v|=pMS!8#IXWB;!s`a z5r^VJkGQW{DK!t2{HD|ZVp_0wUWXKyCnhBBt2vELO=(E7QlzZY43jv;3UpWFvOd#f zU1F8hBFOSvRt#e3y``oEDNRB;&g_U|tUxn04(X@{DcuUGWq{;2q!tjP-U>M1z9F47 zwUnAZVt~YltUxCYj0byGjAMND$*vE#1c%K#M3&+RDd)oNu2sCtVL6?MF87TR^x4jZ# zS`A9%l@^s1jV;f}DlQ(M$g4RV#G4w4{DN}yJnuxlI!j;gGE!m}E6^~G`+8gR)ye9s zbMWQ2udWb7hlSk;Ql^CT7PBMXWCi-faY%1ykiKDs)FnXj8`8B9qaPObAWc1`rq>uC zv4s`r5yv%c)--+7rYV+zrByhT`syDRcEy(JhlQC~A`c7YAtC=sz7{ux!$OY_3wvW2 zs3%xnR?l9{hs8_pP2|P#V%~>FO_m%rud;z6*0Tb=@c5{CMH@9eK*>B<>=}Uhy$>D$ zG1|Kt0|`^M#PlNbBi672{qQ)Z7c@-Ywqm+2VDcN&5Qt$Xu{lI(sHC)t=@Bbgf$n#l z(z6<+>#dY-2$cM$Gy-B`{c3s&^e@ew5T8_3IxaP3B#9a&MJ;8B#51fwzc?=HX-!lw ztEk>Vl;5I8Lkyj^jv+|764H~*j#$hJ^oiq;p3ormu|moUko<;}4>67l@d}7lLb96A zB#C*fK;JmdYOcoWMk}knftBB^iXcYKhMfPrOfhLHk(wT3fW&N8pl2M{^r)ukJ628o zf+oK;O=6nPzvViaG*w7V4>LgGAy%Mq9M?2M)70OpX+Y5Ax2CBOqdq5d>qH!tPl#t= z{wa|=o-Q<+M!cp=UJo)+VhStJNsjZnU*k2<$}2nY@|)Kq5ThocYCb13lQ7ManC@kM z#6(u0e;mhDreV6tis|Nn$!|=LLrjP0ddR*-6N-xp@p*=tzJwX_uqvytu&BJ|-EhpD zSCX?i(pe#+B_^-}eb~6OahkJRY|dhXv9tCgZ!AN8kqa zcEqjmvE$=;~COuQSH9^4$Sh+X*gyG7&Tg%^$PJ8^vZ z#L{?n;n<>-(S3{ViQkx87H>Fuc)V0L4QeuaU~XAK*7*D)bWbjrkgk{gi%RhUsPfXH z@fVLChW`}i%YP34Oipg1w7FV`eD3i)-<=qbzLfPx_aC2|Ulyxb(S`rNXwV?3PTiWH z26gH*RQ(U4t>{jQ_$NcN$~=C*X#s`-o55X3<71H=A7j~&5OG$ZwHzNGdD{3G2{h(A zOQQlMHEt5|GWBbP=KlW=VEc$I8=%H0x&A+;9SsF-Fj@YAXi(Jb0cu8Co%&BfjQhKp zt4P)oDeEqVN!-Z_^qS+cZr5ae&noNoAWL!bQ`RzwF~0d@Ie}UsK@Dey#BHoVlQ|A* zm|pfh@tl^Hxi^x5>hW_N8G>)G-KnC zuG1jhZH1HJj$y!NLUz#j*eSYxPGni&$U zSb-*U9MokRsB$Z)i2;<~pbkNdc?x@&L>-Z$E@6m7b5@|g92eD06Lqgu)TAKFZ&9B@ zOf2CzTf!)_kh{rm~{K)ReO% z>YNl+pCJ2xKbpp)6A1N#R~LbXvxwUkX)l$m(h+z^RvI1@9xU3H}SwFVQnjK{MEvpU07;|fF2~;}?Y9BKs z-e(2+vT;!FX`mjnf_glF@*C8Z5M$1*bs|xnrKooqBC(4V=)}fFy{(C=w2GP&MENbM zE5t-|Yu$)ZreyRMlOx__1^TdYMsH}0eqv=bH!$*>(X|j`&aL$zQ9Y%o*BBzPg%#+< z#zk$`ME%q%YF-fKx2WC_Lvw3=2vU}W^eVF>*0Tcb$vC7}G)VKUkQM|;enT1nG5>aM zZ6M*wmbhMIp2Qkfpj{cq^@4_Lp$%8;XINT0=GLCTmg;kBi?PHyxArt{2y<&5&#eu? zFko|QIW#_o%JH#^4GFQ573jgn$H%kU`1mEzm~(5-1WJDId`Ccxdv0wc$r>ePEoGR* zGps-_HZJRFP1aJYtYtx#-?BzSj4`)1hCt;?P){;LVlgYwlZ}IVLIbtj3Tj0F|(1(pP zdQ@ZdYb&Fbfsx;gCP9qaF`>0l#x04$lGK#RB&tG+dYB;+53vHh*tn<}ny6J)QO^ZY zev6taMHyE@P9ss%rKkrPA~A&(Xurlq-LHwNwu)LEMENc15r|QpN6+_)oJpEyNlo`M zKw=^*(0`3*5k1W0~E zS^zQscJ6;6;aVhdjb)xhoE7L!#&P9oxL&m35-($^oIe-nW|xY;>YJC6HwJZnt9uHR z*!+1F8CxQa-NjgmJ6VA~W!%{9nz2pX7=7;hcY%`Ml$Jq^YHN!x?@CQsPMB6mOv9NU zaT_bpql{x3reWG_#q|4t$!|>0K@1&MRTHGu64GF1M+{;Gx|DH9H*1i#SRuU@Ao&gH zC5UMrwf~e~DcEmvc^uyhjL%h~R~fllCtdYtlte#PpjR1p)mL-%y3JK=88Bucr7DZU|RXcziX*1`GpsG`Nw*$0j*Gda)rPZeRsku<`M6oi;w+1{%7W zf{q5?36%Wa@4gN(?yD)blB{h~)-?>1=*|lCU*oc_)@1Fn%6d1*@>|w+h%v6F*g>Fn zN>CZhkhqE!XjsNUb7azvn%NPpSb?r&9MWYPr1z|l{t_Vh4e1cXm~VL>CQ(PEs7n|k z(VP|NO2$Ps(?q>*6BXN!rT@{%>Z#oQS3WSlQTCL(E5G%drf+WVR5dh~|+ORrP zEZo$v<-ARmoqwA@bZ+_JXBU_CTf4M$k5Ui{YjSDydH^np{}`uOjQXZ&hz>|0HH zzuKyE+KsnwDeqI~_1FPyY0b%Mx0ORadVcAuW8%NDM4qhH$J-YCC;2dL2q&u^pR9h0 zVZcsSPtf={DaS_>HY7x2R-oM)A0Lgh@o@xb=wy}JYJ40h`Mt+I12Os~A!kX`IjN~W z10?FP0}4 zQ^J%cF&$@q#4%Q&5gEsHRKs-Ais^p>CciPYfEe>a|8x@7Qi}SBArc?50u9Kxs1Gzz zpIJryEr{}4R2wF0@WcuDy7fG~McXcQ~=^)B)QCC9D zjaTd(mR4a# z>Z|{a*#CqD3MoMRPz-ES!KoYTSBw%iDOS(UXgMBqgOo$ zSWgM;HD*d|VFlW*abTM@VD+rP>IYzc1M3Yjv3@n0`j_TTh)*gi9haKYheTybQLi#Y zVm&L+e~pWJMHAJ)Dym@+<+rE-5ThpC&hMWFlBR5_=|u)etYHNju5nE-Xqr;2no@%% zzcmeEn$Az(=8&eLQqw91NUUT9+LLij&uW?)Sv6f0H2JM*1jNw0N+Su5i z1-g-ONKb2!8rvYnVpv)`&Rd&eOZD^Ci?Kv~j#Zw!*2UkC@uAk_blecmTRlE+9gShY z&RfUO_{f#x<4HCo#9~&Uxf&lIPiW(#CD54Xt(OK$e(z}WA;x@bqku#uq^S7}k(kE{ zG*{!I=4zrYvx>Sri1J%h5ya3-cQHXKk&qr^cEoH}puHN0^r!}@l@(I!0LgDilORSv zKb=gPDx{`|86fcxE6`evYnq{HYGczBYlo$^<3RB1*i!vK@Cq#92ZA^bO!^E*gUR2( z4dFo0;{(B|7zXS>a2kz|>2iEL$cBWN!U{BsVl^zkv1#>XrUQKpTLYk|fXAIUue zCBKhG9*3A#>RnhPtk(P1OMpd8olRFbbb(pMoPB_^-}9r3uYahk85R$t!^ zzWnyJ0AkD&@r5L6krXwSArf&`pbZ`um8Xfi&MNBqAj)r1PeF`!33L@r7dId~=V_F6=`pNim(zHTq8qNTT+gO2ycU;pjO;c~HranQF-9}t`3>nMh)IjCdLEQpn42G;fGh6M?2b&W zlcxGJMxq}p(Cm(z>Z_URYcmz=ho!Y+CZs>MRG$eMh$YsUkiobi%!GJ66S4urfXx(c zr17yyj*nh!NQfI)fo6And|aoEk0C%~&V=LyN`CKiUx%14n+e%UzP3qU*Dz9|J1fxg zj{CY=^EK4!>(=1QZ(rLXMxD3TwAS81n087`8O)EkiWO*g$1!!$Fb%U}`fkAFH>TYX zLuVR$2-02&sUx!^IMCP8l>B-kcJ0HenZ+1G5Q3^0n&6(YHG~@iB_yY*E_E1 zGELJ6o2J+(ER{cX#O?S^9Awj)y8B@CEo&I)wI;?c+G6MjEDjteD~fli!%mKnxvGoh3-; zB&7Pxj;O~9bdKYY>S~b2S|Q~JNPa{50%BZWR+4lHHIl<`;`1ZCksK?~NDkG7Msg@F zG?FW@xr%)sORI1w_0?}xF%Da*&)-hK5_vRew5lk>4PpM)aFW zba}Zqkr&7HM-6Gzq{vZonhg|jiWO*>$4AX)+Ndc9C7RWxuP~Vyfcd>QjzNrejM$Vg zrAbW3nICbC6=;~pF&)(~-D|}(DPZy&QwxY;=dS5Qsima!5z`|+WCc3qaY`R(lqOp# zRRl_YQ)&Y-X5W*xB&wYhwT~eZ@3R7(^0=t?G*S0iMcp4n`7P>7h@lhMP6Vm5g!C@6 zBX+R@J@GiCw>3x)SRqXbko<?U3}EHsBml|e`0CWYOx!!%9O0$Vv@w0tUxO{ z&gu<~)q_@6Qv)l%SzQY;>Yb+ZopgGTrk+yMYYdRs!V2__WnxX-rvD_LT zJ3gLQo+v6*gQQ|Gy6#?tWWCYyx75)&6Ys`Hz;BLM#4h~$-J)^v!iz@tojAUHVre|P zaBNY^=)NF#V{Tcz;ppM<(lV^E$>@Q(Wd&K|^NUIoXrDjBPe8J%$E-t{n7FvT-gJvjTnd_@IA68}v^Cjrn%jQ-PB5<0qwjh>5;N zyMP!aB%}FEj+n;^G|S_R=4y0LgDilORS-8lIo#nM|50q^5@%An_0@&@7K@nxSd>rAlO%;WSefs)^^i;qBzno+Fz zFzHOfG)rQ-m-!JBS%Dsa98;Nw=`|~+*8?WMF+C13bhKVckmg88h0KnazzQ_`wfm`zrflc*I^)NqDK+{OxYGUTF$X`=R6MePlu{1){b#LyvO zH9=Y}Aq{4B#2{9nlOcz6vj*wUR!Hv!NPa_l31ajK+_j`>oz&Ey0TTUKfgXljQ(sNf zU#yzm51Rbev;kt&rRgIQh4&OqD$Bry0TXbk%SK|gNwVt2B#9eXf!2SV)pZ)HeO6Zc z11rB-y$&&IHm&CRysd<3o5XYt^CP;m0)75CrmHnf2dtP5226fq+72>>+(EKlI-&y)iM>YxPGni&$U zSb^?;9MokRsE@3m4h2wtgE}NZMVGsNr!;p`qA))-=7 z1WW&;_m*}&HDm9}6^lPQ``1JF-ru$Q;z7?mFtyQ#1=r6in)5-+oBy)rds{YsckA!2 zDO8!qTUPvh!y!(WmbKcZN#ToBHvq*p9o0CU-^lEZ??zpr*K1fZ^`5Lmd;=pu=keE()c(h z$47lOBt$({pq(KfA9c0yaT;jM_m<8CN`CKyzknEeCm^W>^)JM4;`772e<3T-zYx`h z{)H$m^e;SXgB1H;Ed7smv}^uRd8p3R{6|_(`u5}dX7$+G>YX|-$Je!OHD*+=`M>{3 zy!FhVZ|eQE=114`{&iaBszz^Lz2*3rcKKH=NdGu<`KtAes~U9euxHB4McZQk9QD{c zfA0R*TYCPuU*86YKe+CP9lv(Ns%@v{&nQ~3^~`{r4;S2V≀s)o=SzmuY}uz;?6^X?&!} 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 diff --git a/ChessManagement/obj/Debug/ChessManagement.dll b/ChessManagement/obj/Debug/ChessManagement.dll index bb48bf32cd20778de92b46bdb164ddae6338c577..efe3472bc46ba234a6cca6b4b06b7314648dd6af 100644 GIT binary patch literal 36352 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 literal 34816 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 M%@1xn+~e&Nw4?{^H8qqP+b4A%jjRUmOs!%>Up! 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