System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 2093e3edd7a2002e8b9abf3b672125094049af30:


0000: ef bb bf 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .../************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 2a  ************.. *
0040: 20 41 44 4f 2e 4e 45 54 20 32 2e 30 20 44 61 74   ADO.NET 2.0 Dat
0050: 61 20 50 72 6f 76 69 64 65 72 20 66 6f 72 20 53  a Provider for S
0060: 51 4c 69 74 65 20 56 65 72 73 69 6f 6e 20 33 2e  QLite Version 3.
0070: 58 0d 0a 20 2a 20 57 72 69 74 74 65 6e 20 62 79  X.. * Written by
0080: 20 52 6f 62 65 72 74 20 53 69 6d 70 73 6f 6e 20   Robert Simpson 
0090: 28 72 6f 62 65 72 74 40 62 6c 61 63 6b 63 61 73  (robert@blackcas
00a0: 74 6c 65 73 6f 66 74 2e 63 6f 6d 29 0d 0a 20 2a  tlesoft.com).. *
00b0: 20 0d 0a 20 2a 20 52 65 6c 65 61 73 65 64 20 74   .. * Released t
00c0: 6f 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d  o the public dom
00d0: 61 69 6e 2c 20 75 73 65 20 61 74 20 79 6f 75 72  ain, use at your
00e0: 20 6f 77 6e 20 72 69 73 6b 21 0d 0a 20 2a 2a 2a   own risk!.. ***
00f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0100: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0110: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0120: 2a 2a 2a 2a 2a 2f 0d 0a 0d 0a 6e 61 6d 65 73 70  *****/....namesp
0130: 61 63 65 20 53 79 73 74 65 6d 2e 44 61 74 61 2e  ace System.Data.
0140: 53 51 4c 69 74 65 0d 0a 7b 0d 0a 20 20 75 73 69  SQLite..{..  usi
0150: 6e 67 20 53 79 73 74 65 6d 3b 0d 0a 20 20 75 73  ng System;..  us
0160: 69 6e 67 20 53 79 73 74 65 6d 2e 44 61 74 61 3b  ing System.Data;
0170: 0d 0a 20 20 75 73 69 6e 67 20 53 79 73 74 65 6d  ..  using System
0180: 2e 44 61 74 61 2e 43 6f 6d 6d 6f 6e 3b 0d 0a 20  .Data.Common;.. 
0190: 20 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f   using System.Co
01a0: 6d 70 6f 6e 65 6e 74 4d 6f 64 65 6c 3b 0d 0a 0d  mponentModel;...
01b0: 0a 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e  .  /// <summary>
01c0: 0d 0a 20 20 2f 2f 2f 20 53 51 4c 69 74 65 20 69  ..  /// SQLite i
01d0: 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66  mplementation of
01e0: 20 44 62 44 61 74 61 41 64 61 70 74 65 72 2e 0d   DbDataAdapter..
01f0: 0a 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79  .  /// </summary
0200: 3e 0d 0a 23 69 66 20 21 50 4c 41 54 46 4f 52 4d  >..#if !PLATFORM
0210: 5f 43 4f 4d 50 41 43 54 46 52 41 4d 45 57 4f 52  _COMPACTFRAMEWOR
0220: 4b 0d 0a 20 20 5b 44 65 66 61 75 6c 74 45 76 65  K..  [DefaultEve
0230: 6e 74 28 22 52 6f 77 55 70 64 61 74 65 64 22 29  nt("RowUpdated")
0240: 5d 0d 0a 20 20 5b 54 6f 6f 6c 62 6f 78 49 74 65  ]..  [ToolboxIte
0250: 6d 28 22 53 51 4c 69 74 65 2e 44 65 73 69 67 6e  m("SQLite.Design
0260: 65 72 2e 53 51 4c 69 74 65 44 61 74 61 41 64 61  er.SQLiteDataAda
0270: 70 74 65 72 54 6f 6f 6c 62 6f 78 49 74 65 6d 2c  pterToolboxItem,
0280: 20 53 51 4c 69 74 65 2e 44 65 73 69 67 6e 65 72   SQLite.Designer
0290: 2c 20 56 65 72 73 69 6f 6e 3d 31 2e 30 2e 33 38  , Version=1.0.38
02a0: 2e 31 2c 20 43 75 6c 74 75 72 65 3d 6e 65 75 74  .1, Culture=neut
02b0: 72 61 6c 2c 20 50 75 62 6c 69 63 4b 65 79 54 6f  ral, PublicKeyTo
02c0: 6b 65 6e 3d 64 62 39 33 37 62 63 32 64 34 34 66  ken=db937bc2d44f
02d0: 66 31 33 39 22 29 5d 0d 0a 20 20 5b 44 65 73 69  f139")]..  [Desi
02e0: 67 6e 65 72 28 22 4d 69 63 72 6f 73 6f 66 74 2e  gner("Microsoft.
02f0: 56 53 44 65 73 69 67 6e 65 72 2e 44 61 74 61 2e  VSDesigner.Data.
0300: 56 53 2e 53 71 6c 44 61 74 61 41 64 61 70 74 65  VS.SqlDataAdapte
0310: 72 44 65 73 69 67 6e 65 72 2c 20 4d 69 63 72 6f  rDesigner, Micro
0320: 73 6f 66 74 2e 56 53 44 65 73 69 67 6e 65 72 2c  soft.VSDesigner,
0330: 20 56 65 72 73 69 6f 6e 3d 38 2e 30 2e 30 2e 30   Version=8.0.0.0
0340: 2c 20 43 75 6c 74 75 72 65 3d 6e 65 75 74 72 61  , Culture=neutra
0350: 6c 2c 20 50 75 62 6c 69 63 4b 65 79 54 6f 6b 65  l, PublicKeyToke
0360: 6e 3d 62 30 33 66 35 66 37 66 31 31 64 35 30 61  n=b03f5f7f11d50a
0370: 33 61 22 29 5d 0d 0a 23 65 6e 64 69 66 0d 0a 20  3a")]..#endif.. 
0380: 20 70 75 62 6c 69 63 20 73 65 61 6c 65 64 20 63   public sealed c
0390: 6c 61 73 73 20 53 51 4c 69 74 65 44 61 74 61 41  lass SQLiteDataA
03a0: 64 61 70 74 65 72 20 3a 20 44 62 44 61 74 61 41  dapter : DbDataA
03b0: 64 61 70 74 65 72 0d 0a 20 20 7b 0d 0a 20 20 20  dapter..  {..   
03c0: 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20   private static 
03d0: 6f 62 6a 65 63 74 20 5f 75 70 64 61 74 69 6e 67  object _updating
03e0: 45 76 65 6e 74 50 48 20 3d 20 6e 65 77 20 6f 62  EventPH = new ob
03f0: 6a 65 63 74 28 29 3b 0d 0a 20 20 20 20 70 72 69  ject();..    pri
0400: 76 61 74 65 20 73 74 61 74 69 63 20 6f 62 6a 65  vate static obje
0410: 63 74 20 5f 75 70 64 61 74 65 64 45 76 65 6e 74  ct _updatedEvent
0420: 50 48 20 3d 20 6e 65 77 20 6f 62 6a 65 63 74 28  PH = new object(
0430: 29 3b 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c 6f  );....    /// <o
0440: 76 65 72 6c 6f 61 64 73 3e 0d 0a 20 20 20 20 2f  verloads>..    /
0450: 2f 2f 20 54 68 69 73 20 63 6c 61 73 73 20 69 73  // This class is
0460: 20 6a 75 73 74 20 61 20 73 68 65 6c 6c 20 61 72   just a shell ar
0470: 6f 75 6e 64 20 74 68 65 20 44 62 44 61 74 61 41  ound the DbDataA
0480: 64 61 70 74 65 72 2e 20 20 4e 6f 74 68 69 6e 67  dapter.  Nothing
0490: 20 66 72 6f 6d 20 44 62 44 61 74 61 41 64 61 70   from DbDataAdap
04a0: 74 65 72 20 69 73 20 6f 76 65 72 72 69 64 64 65  ter is overridde
04b0: 6e 20 68 65 72 65 2c 20 6a 75 73 74 20 61 20 66  n here, just a f
04c0: 65 77 20 63 6f 6e 73 74 72 75 63 74 6f 72 73 20  ew constructors 
04d0: 61 72 65 20 64 65 66 69 6e 65 64 2e 0d 0a 20 20  are defined...  
04e0: 20 20 2f 2f 2f 20 3c 2f 6f 76 65 72 6c 6f 61 64    /// </overload
04f0: 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  s>..    /// <sum
0500: 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 44  mary>..    /// D
0510: 65 66 61 75 6c 74 20 63 6f 6e 73 74 72 75 63 74  efault construct
0520: 6f 72 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73  or...    /// </s
0530: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 70 75 62  ummary>..    pub
0540: 6c 69 63 20 53 51 4c 69 74 65 44 61 74 61 41 64  lic SQLiteDataAd
0550: 61 70 74 65 72 28 29 0d 0a 20 20 20 20 7b 0d 0a  apter()..    {..
0560: 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f      }....    ///
0570: 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20   <summary>..    
0580: 2f 2f 2f 20 43 6f 6e 73 74 72 75 63 74 73 20 61  /// Constructs a
0590: 20 64 61 74 61 20 61 64 61 70 74 65 72 20 75 73   data adapter us
05a0: 69 6e 67 20 74 68 65 20 73 70 65 63 69 66 69 65  ing the specifie
05b0: 64 20 73 65 6c 65 63 74 20 63 6f 6d 6d 61 6e 64  d select command
05c0: 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  ...    /// </sum
05d0: 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c  mary>..    /// <
05e0: 70 61 72 61 6d 20 6e 61 6d 65 3d 22 63 6d 64 22  param name="cmd"
05f0: 3e 54 68 65 20 73 65 6c 65 63 74 20 63 6f 6d 6d  >The select comm
0600: 61 6e 64 20 74 6f 20 61 73 73 6f 63 69 61 74 65  and to associate
0610: 20 77 69 74 68 20 74 68 65 20 61 64 61 70 74 65   with the adapte
0620: 72 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20  r.</param>..    
0630: 70 75 62 6c 69 63 20 53 51 4c 69 74 65 44 61 74  public SQLiteDat
0640: 61 41 64 61 70 74 65 72 28 53 51 4c 69 74 65 43  aAdapter(SQLiteC
0650: 6f 6d 6d 61 6e 64 20 63 6d 64 29 0d 0a 20 20 20  ommand cmd)..   
0660: 20 7b 0d 0a 20 20 20 20 20 20 53 65 6c 65 63 74   {..      Select
0670: 43 6f 6d 6d 61 6e 64 20 3d 20 63 6d 64 3b 0d 0a  Command = cmd;..
0680: 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f      }....    ///
0690: 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20   <summary>..    
06a0: 2f 2f 2f 20 43 6f 6e 73 74 72 75 63 74 73 20 61  /// Constructs a
06b0: 20 64 61 74 61 20 61 64 61 70 74 65 72 20 77 69   data adapter wi
06c0: 74 68 20 74 68 65 20 73 75 70 70 6c 69 65 64 20  th the supplied 
06d0: 73 65 6c 65 63 74 20 63 6f 6d 6d 61 6e 64 20 74  select command t
06e0: 65 78 74 20 61 6e 64 20 61 73 73 6f 63 69 61 74  ext and associat
06f0: 65 64 20 77 69 74 68 20 74 68 65 20 73 70 65 63  ed with the spec
0700: 69 66 69 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e  ified connection
0710: 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  ...    /// </sum
0720: 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c  mary>..    /// <
0730: 70 61 72 61 6d 20 6e 61 6d 65 3d 22 63 6f 6d 6d  param name="comm
0740: 61 6e 64 54 65 78 74 22 3e 54 68 65 20 73 65 6c  andText">The sel
0750: 65 63 74 20 63 6f 6d 6d 61 6e 64 20 74 65 78 74  ect command text
0760: 20 74 6f 20 61 73 73 6f 63 69 61 74 65 20 77 69   to associate wi
0770: 74 68 20 74 68 65 20 64 61 74 61 20 61 64 61 70  th the data adap
0780: 74 65 72 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20  ter.</param>..  
0790: 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d    /// <param nam
07a0: 65 3d 22 63 6f 6e 6e 65 63 74 69 6f 6e 22 3e 54  e="connection">T
07b0: 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f  he connection to
07c0: 20 61 73 73 6f 63 69 61 74 65 20 77 69 74 68 20   associate with 
07d0: 74 68 65 20 73 65 6c 65 63 74 20 63 6f 6d 6d 61  the select comma
07e0: 6e 64 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20  nd.</param>..   
07f0: 20 70 75 62 6c 69 63 20 53 51 4c 69 74 65 44 61   public SQLiteDa
0800: 74 61 41 64 61 70 74 65 72 28 73 74 72 69 6e 67  taAdapter(string
0810: 20 63 6f 6d 6d 61 6e 64 54 65 78 74 2c 20 53 51   commandText, SQ
0820: 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 20 63  LiteConnection c
0830: 6f 6e 6e 65 63 74 69 6f 6e 29 0d 0a 20 20 20 20  onnection)..    
0840: 7b 0d 0a 20 20 20 20 20 20 53 65 6c 65 63 74 43  {..      SelectC
0850: 6f 6d 6d 61 6e 64 20 3d 20 6e 65 77 20 53 51 4c  ommand = new SQL
0860: 69 74 65 43 6f 6d 6d 61 6e 64 28 63 6f 6d 6d 61  iteCommand(comma
0870: 6e 64 54 65 78 74 2c 20 63 6f 6e 6e 65 63 74 69  ndText, connecti
0880: 6f 6e 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20  on);..    }.... 
0890: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
08a0: 0d 0a 20 20 20 20 2f 2f 2f 20 43 6f 6e 73 74 72  ..    /// Constr
08b0: 75 63 74 73 20 61 20 64 61 74 61 20 61 64 61 70  ucts a data adap
08c0: 74 65 72 20 77 69 74 68 20 74 68 65 20 73 70 65  ter with the spe
08d0: 63 69 66 69 65 64 20 73 65 6c 65 63 74 20 63 6f  cified select co
08e0: 6d 6d 61 6e 64 20 74 65 78 74 2c 20 61 6e 64 20  mmand text, and 
08f0: 75 73 69 6e 67 20 74 68 65 20 73 70 65 63 69 66  using the specif
0900: 69 65 64 20 64 61 74 61 62 61 73 65 20 63 6f 6e  ied database con
0910: 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 2e 0d  nection string..
0920: 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61  .    /// </summa
0930: 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 70 61  ry>..    /// <pa
0940: 72 61 6d 20 6e 61 6d 65 3d 22 63 6f 6d 6d 61 6e  ram name="comman
0950: 64 54 65 78 74 22 3e 54 68 65 20 73 65 6c 65 63  dText">The selec
0960: 74 20 63 6f 6d 6d 61 6e 64 20 74 65 78 74 20 74  t command text t
0970: 6f 20 75 73 65 20 74 6f 20 63 6f 6e 73 74 72 75  o use to constru
0980: 63 74 20 61 20 73 65 6c 65 63 74 20 63 6f 6d 6d  ct a select comm
0990: 61 6e 64 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20  and.</param>..  
09a0: 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d    /// <param nam
09b0: 65 3d 22 63 6f 6e 6e 65 63 74 69 6f 6e 53 74 72  e="connectionStr
09c0: 69 6e 67 22 3e 41 20 63 6f 6e 6e 65 63 74 69 6f  ing">A connectio
09d0: 6e 20 73 74 72 69 6e 67 20 73 75 69 74 61 62 6c  n string suitabl
09e0: 65 20 66 6f 72 20 70 61 73 73 69 6e 67 20 74 6f  e for passing to
09f0: 20 61 20 6e 65 77 20 53 51 4c 69 74 65 43 6f 6e   a new SQLiteCon
0a00: 6e 65 63 74 69 6f 6e 2c 20 77 68 69 63 68 20 69  nection, which i
0a10: 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74  s associated wit
0a20: 68 20 74 68 65 20 73 65 6c 65 63 74 20 63 6f 6d  h the select com
0a30: 6d 61 6e 64 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20  mand.</param>.. 
0a40: 20 20 20 70 75 62 6c 69 63 20 53 51 4c 69 74 65     public SQLite
0a50: 44 61 74 61 41 64 61 70 74 65 72 28 73 74 72 69  DataAdapter(stri
0a60: 6e 67 20 63 6f 6d 6d 61 6e 64 54 65 78 74 2c 20  ng commandText, 
0a70: 73 74 72 69 6e 67 20 63 6f 6e 6e 65 63 74 69 6f  string connectio
0a80: 6e 53 74 72 69 6e 67 29 0d 0a 20 20 20 20 7b 0d  nString)..    {.
0a90: 0a 20 20 20 20 20 20 53 51 4c 69 74 65 43 6f 6e  .      SQLiteCon
0aa0: 6e 65 63 74 69 6f 6e 20 63 6e 6e 20 3d 20 6e 65  nection cnn = ne
0ab0: 77 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69  w SQLiteConnecti
0ac0: 6f 6e 28 63 6f 6e 6e 65 63 74 69 6f 6e 53 74 72  on(connectionStr
0ad0: 69 6e 67 29 3b 0d 0a 20 20 20 20 20 20 53 65 6c  ing);..      Sel
0ae0: 65 63 74 43 6f 6d 6d 61 6e 64 20 3d 20 6e 65 77  ectCommand = new
0af0: 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 28 63   SQLiteCommand(c
0b00: 6f 6d 6d 61 6e 64 54 65 78 74 2c 20 63 6e 6e 29  ommandText, cnn)
0b10: 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20  ;..    }....    
0b20: 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20  /// <summary>.. 
0b30: 20 20 20 2f 2f 2f 20 52 6f 77 20 75 70 64 61 74     /// Row updat
0b40: 69 6e 67 20 65 76 65 6e 74 20 68 61 6e 64 6c 65  ing event handle
0b50: 72 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  r..    /// </sum
0b60: 6d 61 72 79 3e 0d 0a 20 20 20 20 70 75 62 6c 69  mary>..    publi
0b70: 63 20 65 76 65 6e 74 20 45 76 65 6e 74 48 61 6e  c event EventHan
0b80: 64 6c 65 72 3c 52 6f 77 55 70 64 61 74 69 6e 67  dler<RowUpdating
0b90: 45 76 65 6e 74 41 72 67 73 3e 20 52 6f 77 55 70  EventArgs> RowUp
0ba0: 64 61 74 69 6e 67 0d 0a 20 20 20 20 7b 0d 0a 20  dating..    {.. 
0bb0: 20 20 20 20 20 61 64 64 0d 0a 20 20 20 20 20 20       add..      
0bc0: 7b 0d 0a 23 69 66 20 21 50 4c 41 54 46 4f 52 4d  {..#if !PLATFORM
0bd0: 5f 43 4f 4d 50 41 43 54 46 52 41 4d 45 57 4f 52  _COMPACTFRAMEWOR
0be0: 4b 0d 0a 20 20 20 20 20 20 20 20 45 76 65 6e 74  K..        Event
0bf0: 48 61 6e 64 6c 65 72 3c 52 6f 77 55 70 64 61 74  Handler<RowUpdat
0c00: 69 6e 67 45 76 65 6e 74 41 72 67 73 3e 20 70 72  ingEventArgs> pr
0c10: 65 76 69 6f 75 73 20 3d 20 28 45 76 65 6e 74 48  evious = (EventH
0c20: 61 6e 64 6c 65 72 3c 52 6f 77 55 70 64 61 74 69  andler<RowUpdati
0c30: 6e 67 45 76 65 6e 74 41 72 67 73 3e 29 62 61 73  ngEventArgs>)bas
0c40: 65 2e 45 76 65 6e 74 73 5b 5f 75 70 64 61 74 69  e.Events[_updati
0c50: 6e 67 45 76 65 6e 74 50 48 5d 3b 0d 0a 20 20 20  ngEventPH];..   
0c60: 20 20 20 20 20 69 66 20 28 28 70 72 65 76 69 6f       if ((previo
0c70: 75 73 20 21 3d 20 6e 75 6c 6c 29 20 26 26 20 28  us != null) && (
0c80: 76 61 6c 75 65 2e 54 61 72 67 65 74 20 69 73 20  value.Target is 
0c90: 44 62 43 6f 6d 6d 61 6e 64 42 75 69 6c 64 65 72  DbCommandBuilder
0ca0: 29 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20  ))..        {.. 
0cb0: 20 20 20 20 20 20 20 20 20 45 76 65 6e 74 48 61           EventHa
0cc0: 6e 64 6c 65 72 3c 52 6f 77 55 70 64 61 74 69 6e  ndler<RowUpdatin
0cd0: 67 45 76 65 6e 74 41 72 67 73 3e 20 68 61 6e 64  gEventArgs> hand
0ce0: 6c 65 72 20 3d 20 28 45 76 65 6e 74 48 61 6e 64  ler = (EventHand
0cf0: 6c 65 72 3c 52 6f 77 55 70 64 61 74 69 6e 67 45  ler<RowUpdatingE
0d00: 76 65 6e 74 41 72 67 73 3e 29 46 69 6e 64 42 75  ventArgs>)FindBu
0d10: 69 6c 64 65 72 28 70 72 65 76 69 6f 75 73 29 3b  ilder(previous);
0d20: 0d 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 28  ..          if (
0d30: 68 61 6e 64 6c 65 72 20 21 3d 20 6e 75 6c 6c 29  handler != null)
0d40: 0d 0a 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20  ..          {.. 
0d50: 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 2e             base.
0d60: 45 76 65 6e 74 73 2e 52 65 6d 6f 76 65 48 61 6e  Events.RemoveHan
0d70: 64 6c 65 72 28 5f 75 70 64 61 74 69 6e 67 45 76  dler(_updatingEv
0d80: 65 6e 74 50 48 2c 20 68 61 6e 64 6c 65 72 29 3b  entPH, handler);
0d90: 0d 0a 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20  ..          }.. 
0da0: 20 20 20 20 20 20 20 7d 0d 0a 23 65 6e 64 69 66         }..#endif
0db0: 0d 0a 20 20 20 20 20 20 20 20 62 61 73 65 2e 45  ..        base.E
0dc0: 76 65 6e 74 73 2e 41 64 64 48 61 6e 64 6c 65 72  vents.AddHandler
0dd0: 28 5f 75 70 64 61 74 69 6e 67 45 76 65 6e 74 50  (_updatingEventP
0de0: 48 2c 20 76 61 6c 75 65 29 3b 20 0d 0a 20 20 20  H, value); ..   
0df0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 72 65 6d 6f     }..      remo
0e00: 76 65 20 7b 20 62 61 73 65 2e 45 76 65 6e 74 73  ve { base.Events
0e10: 2e 52 65 6d 6f 76 65 48 61 6e 64 6c 65 72 28 5f  .RemoveHandler(_
0e20: 75 70 64 61 74 69 6e 67 45 76 65 6e 74 50 48 2c  updatingEventPH,
0e30: 20 76 61 6c 75 65 29 3b 20 7d 0d 0a 20 20 20 20   value); }..    
0e40: 7d 0d 0a 0d 0a 23 69 66 20 21 50 4c 41 54 46 4f  }....#if !PLATFO
0e50: 52 4d 5f 43 4f 4d 50 41 43 54 46 52 41 4d 45 57  RM_COMPACTFRAMEW
0e60: 4f 52 4b 0d 0a 20 20 20 20 69 6e 74 65 72 6e 61  ORK..    interna
0e70: 6c 20 73 74 61 74 69 63 20 44 65 6c 65 67 61 74  l static Delegat
0e80: 65 20 46 69 6e 64 42 75 69 6c 64 65 72 28 4d 75  e FindBuilder(Mu
0e90: 6c 74 69 63 61 73 74 44 65 6c 65 67 61 74 65 20  lticastDelegate 
0ea0: 6d 63 64 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20  mcd)..    {..   
0eb0: 20 20 20 69 66 20 28 6d 63 64 20 21 3d 20 6e 75     if (mcd != nu
0ec0: 6c 6c 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20  ll)..      {..  
0ed0: 20 20 20 20 20 20 44 65 6c 65 67 61 74 65 5b 5d        Delegate[]
0ee0: 20 69 6e 76 6f 63 61 74 69 6f 6e 4c 69 73 74 20   invocationList 
0ef0: 3d 20 6d 63 64 2e 47 65 74 49 6e 76 6f 63 61 74  = mcd.GetInvocat
0f00: 69 6f 6e 4c 69 73 74 28 29 3b 0d 0a 20 20 20 20  ionList();..    
0f10: 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d      for (int i =
0f20: 20 30 3b 20 69 20 3c 20 69 6e 76 6f 63 61 74 69   0; i < invocati
0f30: 6f 6e 4c 69 73 74 2e 4c 65 6e 67 74 68 3b 20 69  onList.Length; i
0f40: 2b 2b 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a  ++)..        {..
0f50: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e            if (in
0f60: 76 6f 63 61 74 69 6f 6e 4c 69 73 74 5b 69 5d 2e  vocationList[i].
0f70: 54 61 72 67 65 74 20 69 73 20 44 62 43 6f 6d 6d  Target is DbComm
0f80: 61 6e 64 42 75 69 6c 64 65 72 29 0d 0a 20 20 20  andBuilder)..   
0f90: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20         {..      
0fa0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 6e 76        return inv
0fb0: 6f 63 61 74 69 6f 6e 4c 69 73 74 5b 69 5d 3b 0d  ocationList[i];.
0fc0: 0a 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20  .          }..  
0fd0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 7d        }..      }
0fe0: 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e  ..      return n
0ff0: 75 6c 6c 3b 0d 0a 20 20 20 20 7d 0d 0a 23 65 6e  ull;..    }..#en
1000: 64 69 66 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c  dif....    /// <
1010: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f  summary>..    //
1020: 2f 20 52 6f 77 20 75 70 64 61 74 65 64 20 65 76  / Row updated ev
1030: 65 6e 74 20 68 61 6e 64 6c 65 72 0d 0a 20 20 20  ent handler..   
1040: 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d   /// </summary>.
1050: 0a 20 20 20 20 70 75 62 6c 69 63 20 65 76 65 6e  .    public even
1060: 74 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 3c 52  t EventHandler<R
1070: 6f 77 55 70 64 61 74 65 64 45 76 65 6e 74 41 72  owUpdatedEventAr
1080: 67 73 3e 20 52 6f 77 55 70 64 61 74 65 64 0d 0a  gs> RowUpdated..
1090: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 61 64 64      {..      add
10a0: 20 7b 20 62 61 73 65 2e 45 76 65 6e 74 73 2e 41   { base.Events.A
10b0: 64 64 48 61 6e 64 6c 65 72 28 5f 75 70 64 61 74  ddHandler(_updat
10c0: 65 64 45 76 65 6e 74 50 48 2c 20 76 61 6c 75 65  edEventPH, value
10d0: 29 3b 20 7d 0d 0a 20 20 20 20 20 20 72 65 6d 6f  ); }..      remo
10e0: 76 65 20 7b 20 62 61 73 65 2e 45 76 65 6e 74 73  ve { base.Events
10f0: 2e 52 65 6d 6f 76 65 48 61 6e 64 6c 65 72 28 5f  .RemoveHandler(_
1100: 75 70 64 61 74 65 64 45 76 65 6e 74 50 48 2c 20  updatedEventPH, 
1110: 76 61 6c 75 65 29 3b 20 7d 0d 0a 20 20 20 20 7d  value); }..    }
1120: 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  ....    /// <sum
1130: 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 52  mary>..    /// R
1140: 61 69 73 65 64 20 62 79 20 74 68 65 20 75 6e 64  aised by the und
1150: 65 72 6c 79 69 6e 67 20 44 62 44 61 74 61 41 64  erlying DbDataAd
1160: 61 70 74 65 72 20 77 68 65 6e 20 61 20 72 6f 77  apter when a row
1170: 20 69 73 20 62 65 69 6e 67 20 75 70 64 61 74 65   is being update
1180: 64 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  d..    /// </sum
1190: 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c  mary>..    /// <
11a0: 70 61 72 61 6d 20 6e 61 6d 65 3d 22 76 61 6c 75  param name="valu
11b0: 65 22 3e 54 68 65 20 65 76 65 6e 74 27 73 20 73  e">The event's s
11c0: 70 65 63 69 66 69 63 73 3c 2f 70 61 72 61 6d 3e  pecifics</param>
11d0: 0d 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20  ..    protected 
11e0: 6f 76 65 72 72 69 64 65 20 76 6f 69 64 20 4f 6e  override void On
11f0: 52 6f 77 55 70 64 61 74 69 6e 67 28 52 6f 77 55  RowUpdating(RowU
1200: 70 64 61 74 69 6e 67 45 76 65 6e 74 41 72 67 73  pdatingEventArgs
1210: 20 76 61 6c 75 65 29 0d 0a 20 20 20 20 7b 0d 0a   value)..    {..
1220: 20 20 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c        EventHandl
1230: 65 72 3c 52 6f 77 55 70 64 61 74 69 6e 67 45 76  er<RowUpdatingEv
1240: 65 6e 74 41 72 67 73 3e 20 68 61 6e 64 6c 65 72  entArgs> handler
1250: 20 3d 20 62 61 73 65 2e 45 76 65 6e 74 73 5b 5f   = base.Events[_
1260: 75 70 64 61 74 69 6e 67 45 76 65 6e 74 50 48 5d  updatingEventPH]
1270: 20 61 73 20 45 76 65 6e 74 48 61 6e 64 6c 65 72   as EventHandler
1280: 3c 52 6f 77 55 70 64 61 74 69 6e 67 45 76 65 6e  <RowUpdatingEven
1290: 74 41 72 67 73 3e 3b 0d 0a 0d 0a 20 20 20 20 20  tArgs>;....     
12a0: 20 69 66 20 28 68 61 6e 64 6c 65 72 20 21 3d 20   if (handler != 
12b0: 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 68  null)..        h
12c0: 61 6e 64 6c 65 72 28 74 68 69 73 2c 20 76 61 6c  andler(this, val
12d0: 75 65 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20  ue);..    }.... 
12e0: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
12f0: 0d 0a 20 20 20 20 2f 2f 2f 20 52 61 69 73 65 64  ..    /// Raised
1300: 20 62 79 20 44 62 44 61 74 61 41 64 61 70 74 65   by DbDataAdapte
1310: 72 20 61 66 74 65 72 20 61 20 72 6f 77 20 69 73  r after a row is
1320: 20 75 70 64 61 74 65 64 0d 0a 20 20 20 20 2f 2f   updated..    //
1330: 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  / </summary>..  
1340: 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d    /// <param nam
1350: 65 3d 22 76 61 6c 75 65 22 3e 54 68 65 20 65 76  e="value">The ev
1360: 65 6e 74 27 73 20 73 70 65 63 69 66 69 63 73 3c  ent's specifics<
1370: 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 70 72 6f  /param>..    pro
1380: 74 65 63 74 65 64 20 6f 76 65 72 72 69 64 65 20  tected override 
1390: 76 6f 69 64 20 4f 6e 52 6f 77 55 70 64 61 74 65  void OnRowUpdate
13a0: 64 28 52 6f 77 55 70 64 61 74 65 64 45 76 65 6e  d(RowUpdatedEven
13b0: 74 41 72 67 73 20 76 61 6c 75 65 29 0d 0a 20 20  tArgs value)..  
13c0: 20 20 7b 0d 0a 20 20 20 20 20 20 45 76 65 6e 74    {..      Event
13d0: 48 61 6e 64 6c 65 72 3c 52 6f 77 55 70 64 61 74  Handler<RowUpdat
13e0: 65 64 45 76 65 6e 74 41 72 67 73 3e 20 68 61 6e  edEventArgs> han
13f0: 64 6c 65 72 20 3d 20 62 61 73 65 2e 45 76 65 6e  dler = base.Even
1400: 74 73 5b 5f 75 70 64 61 74 65 64 45 76 65 6e 74  ts[_updatedEvent
1410: 50 48 5d 20 61 73 20 45 76 65 6e 74 48 61 6e 64  PH] as EventHand
1420: 6c 65 72 3c 52 6f 77 55 70 64 61 74 65 64 45 76  ler<RowUpdatedEv
1430: 65 6e 74 41 72 67 73 3e 3b 0d 0a 0d 0a 20 20 20  entArgs>;....   
1440: 20 20 20 69 66 20 28 68 61 6e 64 6c 65 72 20 21     if (handler !
1450: 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20  = null)..       
1460: 20 68 61 6e 64 6c 65 72 28 74 68 69 73 2c 20 76   handler(this, v
1470: 61 6c 75 65 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d  alue);..    }...
1480: 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72  .    /// <summar
1490: 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 47 65 74 73  y>..    /// Gets
14a0: 2f 73 65 74 73 20 74 68 65 20 73 65 6c 65 63 74  /sets the select
14b0: 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 74 68 69   command for thi
14c0: 73 20 44 61 74 61 41 64 61 70 74 65 72 0d 0a 20  s DataAdapter.. 
14d0: 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79     /// </summary
14e0: 3e 0d 0a 23 69 66 20 21 50 4c 41 54 46 4f 52 4d  >..#if !PLATFORM
14f0: 5f 43 4f 4d 50 41 43 54 46 52 41 4d 45 57 4f 52  _COMPACTFRAMEWOR
1500: 4b 0d 0a 20 20 20 20 5b 44 65 66 61 75 6c 74 56  K..    [DefaultV
1510: 61 6c 75 65 28 28 73 74 72 69 6e 67 29 6e 75 6c  alue((string)nul
1520: 6c 29 2c 20 45 64 69 74 6f 72 28 22 4d 69 63 72  l), Editor("Micr
1530: 6f 73 6f 66 74 2e 56 53 44 65 73 69 67 6e 65 72  osoft.VSDesigner
1540: 2e 44 61 74 61 2e 44 65 73 69 67 6e 2e 44 42 43  .Data.Design.DBC
1550: 6f 6d 6d 61 6e 64 45 64 69 74 6f 72 2c 20 4d 69  ommandEditor, Mi
1560: 63 72 6f 73 6f 66 74 2e 56 53 44 65 73 69 67 6e  crosoft.VSDesign
1570: 65 72 2c 20 56 65 72 73 69 6f 6e 3d 38 2e 30 2e  er, Version=8.0.
1580: 30 2e 30 2c 20 43 75 6c 74 75 72 65 3d 6e 65 75  0.0, Culture=neu
1590: 74 72 61 6c 2c 20 50 75 62 6c 69 63 4b 65 79 54  tral, PublicKeyT
15a0: 6f 6b 65 6e 3d 62 30 33 66 35 66 37 66 31 31 64  oken=b03f5f7f11d
15b0: 35 30 61 33 61 22 2c 20 22 53 79 73 74 65 6d 2e  50a3a", "System.
15c0: 44 72 61 77 69 6e 67 2e 44 65 73 69 67 6e 2e 55  Drawing.Design.U
15d0: 49 54 79 70 65 45 64 69 74 6f 72 2c 20 53 79 73  ITypeEditor, Sys
15e0: 74 65 6d 2e 44 72 61 77 69 6e 67 2c 20 56 65 72  tem.Drawing, Ver
15f0: 73 69 6f 6e 3d 32 2e 30 2e 30 2e 30 2c 20 43 75  sion=2.0.0.0, Cu
1600: 6c 74 75 72 65 3d 6e 65 75 74 72 61 6c 2c 20 50  lture=neutral, P
1610: 75 62 6c 69 63 4b 65 79 54 6f 6b 65 6e 3d 62 30  ublicKeyToken=b0
1620: 33 66 35 66 37 66 31 31 64 35 30 61 33 61 22 29  3f5f7f11d50a3a")
1630: 5d 0d 0a 23 65 6e 64 69 66 0d 0a 20 20 20 20 70  ]..#endif..    p
1640: 75 62 6c 69 63 20 6e 65 77 20 53 51 4c 69 74 65  ublic new SQLite
1650: 43 6f 6d 6d 61 6e 64 20 53 65 6c 65 63 74 43 6f  Command SelectCo
1660: 6d 6d 61 6e 64 0d 0a 20 20 20 20 7b 0d 0a 20 20  mmand..    {..  
1670: 20 20 20 20 67 65 74 20 7b 20 72 65 74 75 72 6e      get { return
1680: 20 28 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 29   (SQLiteCommand)
1690: 62 61 73 65 2e 53 65 6c 65 63 74 43 6f 6d 6d 61  base.SelectComma
16a0: 6e 64 3b 20 7d 0d 0a 20 20 20 20 20 20 73 65 74  nd; }..      set
16b0: 20 7b 20 62 61 73 65 2e 53 65 6c 65 63 74 43 6f   { base.SelectCo
16c0: 6d 6d 61 6e 64 20 3d 20 76 61 6c 75 65 3b 20 7d  mmand = value; }
16d0: 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f  ..    }....    /
16e0: 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  // <summary>..  
16f0: 20 20 2f 2f 2f 20 47 65 74 73 2f 73 65 74 73 20    /// Gets/sets 
1700: 74 68 65 20 69 6e 73 65 72 74 20 63 6f 6d 6d 61  the insert comma
1710: 6e 64 20 66 6f 72 20 74 68 69 73 20 44 61 74 61  nd for this Data
1720: 41 64 61 70 74 65 72 0d 0a 20 20 20 20 2f 2f 2f  Adapter..    ///
1730: 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 23 69 66   </summary>..#if
1740: 20 21 50 4c 41 54 46 4f 52 4d 5f 43 4f 4d 50 41   !PLATFORM_COMPA
1750: 43 54 46 52 41 4d 45 57 4f 52 4b 0d 0a 20 20 20  CTFRAMEWORK..   
1760: 20 5b 44 65 66 61 75 6c 74 56 61 6c 75 65 28 28   [DefaultValue((
1770: 73 74 72 69 6e 67 29 6e 75 6c 6c 29 2c 20 45 64  string)null), Ed
1780: 69 74 6f 72 28 22 4d 69 63 72 6f 73 6f 66 74 2e  itor("Microsoft.
1790: 56 53 44 65 73 69 67 6e 65 72 2e 44 61 74 61 2e  VSDesigner.Data.
17a0: 44 65 73 69 67 6e 2e 44 42 43 6f 6d 6d 61 6e 64  Design.DBCommand
17b0: 45 64 69 74 6f 72 2c 20 4d 69 63 72 6f 73 6f 66  Editor, Microsof
17c0: 74 2e 56 53 44 65 73 69 67 6e 65 72 2c 20 56 65  t.VSDesigner, Ve
17d0: 72 73 69 6f 6e 3d 38 2e 30 2e 30 2e 30 2c 20 43  rsion=8.0.0.0, C
17e0: 75 6c 74 75 72 65 3d 6e 65 75 74 72 61 6c 2c 20  ulture=neutral, 
17f0: 50 75 62 6c 69 63 4b 65 79 54 6f 6b 65 6e 3d 62  PublicKeyToken=b
1800: 30 33 66 35 66 37 66 31 31 64 35 30 61 33 61 22  03f5f7f11d50a3a"
1810: 2c 20 22 53 79 73 74 65 6d 2e 44 72 61 77 69 6e  , "System.Drawin
1820: 67 2e 44 65 73 69 67 6e 2e 55 49 54 79 70 65 45  g.Design.UITypeE
1830: 64 69 74 6f 72 2c 20 53 79 73 74 65 6d 2e 44 72  ditor, System.Dr
1840: 61 77 69 6e 67 2c 20 56 65 72 73 69 6f 6e 3d 32  awing, Version=2
1850: 2e 30 2e 30 2e 30 2c 20 43 75 6c 74 75 72 65 3d  .0.0.0, Culture=
1860: 6e 65 75 74 72 61 6c 2c 20 50 75 62 6c 69 63 4b  neutral, PublicK
1870: 65 79 54 6f 6b 65 6e 3d 62 30 33 66 35 66 37 66  eyToken=b03f5f7f
1880: 31 31 64 35 30 61 33 61 22 29 5d 0d 0a 23 65 6e  11d50a3a")]..#en
1890: 64 69 66 0d 0a 20 20 20 20 70 75 62 6c 69 63 20  dif..    public 
18a0: 6e 65 77 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e  new SQLiteComman
18b0: 64 20 49 6e 73 65 72 74 43 6f 6d 6d 61 6e 64 0d  d InsertCommand.
18c0: 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 67 65  .    {..      ge
18d0: 74 20 7b 20 72 65 74 75 72 6e 20 28 53 51 4c 69  t { return (SQLi
18e0: 74 65 43 6f 6d 6d 61 6e 64 29 62 61 73 65 2e 49  teCommand)base.I
18f0: 6e 73 65 72 74 43 6f 6d 6d 61 6e 64 3b 20 7d 0d  nsertCommand; }.
1900: 0a 20 20 20 20 20 20 73 65 74 20 7b 20 62 61 73  .      set { bas
1910: 65 2e 49 6e 73 65 72 74 43 6f 6d 6d 61 6e 64 20  e.InsertCommand 
1920: 3d 20 76 61 6c 75 65 3b 20 7d 0d 0a 20 20 20 20  = value; }..    
1930: 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75  }....    /// <su
1940: 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20  mmary>..    /// 
1950: 47 65 74 73 2f 73 65 74 73 20 74 68 65 20 75 70  Gets/sets the up
1960: 64 61 74 65 20 63 6f 6d 6d 61 6e 64 20 66 6f 72  date command for
1970: 20 74 68 69 73 20 44 61 74 61 41 64 61 70 74 65   this DataAdapte
1980: 72 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  r..    /// </sum
1990: 6d 61 72 79 3e 0d 0a 23 69 66 20 21 50 4c 41 54  mary>..#if !PLAT
19a0: 46 4f 52 4d 5f 43 4f 4d 50 41 43 54 46 52 41 4d  FORM_COMPACTFRAM
19b0: 45 57 4f 52 4b 0d 0a 20 20 20 20 5b 44 65 66 61  EWORK..    [Defa
19c0: 75 6c 74 56 61 6c 75 65 28 28 73 74 72 69 6e 67  ultValue((string
19d0: 29 6e 75 6c 6c 29 2c 20 45 64 69 74 6f 72 28 22  )null), Editor("
19e0: 4d 69 63 72 6f 73 6f 66 74 2e 56 53 44 65 73 69  Microsoft.VSDesi
19f0: 67 6e 65 72 2e 44 61 74 61 2e 44 65 73 69 67 6e  gner.Data.Design
1a00: 2e 44 42 43 6f 6d 6d 61 6e 64 45 64 69 74 6f 72  .DBCommandEditor
1a10: 2c 20 4d 69 63 72 6f 73 6f 66 74 2e 56 53 44 65  , Microsoft.VSDe
1a20: 73 69 67 6e 65 72 2c 20 56 65 72 73 69 6f 6e 3d  signer, Version=
1a30: 38 2e 30 2e 30 2e 30 2c 20 43 75 6c 74 75 72 65  8.0.0.0, Culture
1a40: 3d 6e 65 75 74 72 61 6c 2c 20 50 75 62 6c 69 63  =neutral, Public
1a50: 4b 65 79 54 6f 6b 65 6e 3d 62 30 33 66 35 66 37  KeyToken=b03f5f7
1a60: 66 31 31 64 35 30 61 33 61 22 2c 20 22 53 79 73  f11d50a3a", "Sys
1a70: 74 65 6d 2e 44 72 61 77 69 6e 67 2e 44 65 73 69  tem.Drawing.Desi
1a80: 67 6e 2e 55 49 54 79 70 65 45 64 69 74 6f 72 2c  gn.UITypeEditor,
1a90: 20 53 79 73 74 65 6d 2e 44 72 61 77 69 6e 67 2c   System.Drawing,
1aa0: 20 56 65 72 73 69 6f 6e 3d 32 2e 30 2e 30 2e 30   Version=2.0.0.0
1ab0: 2c 20 43 75 6c 74 75 72 65 3d 6e 65 75 74 72 61  , Culture=neutra
1ac0: 6c 2c 20 50 75 62 6c 69 63 4b 65 79 54 6f 6b 65  l, PublicKeyToke
1ad0: 6e 3d 62 30 33 66 35 66 37 66 31 31 64 35 30 61  n=b03f5f7f11d50a
1ae0: 33 61 22 29 5d 0d 0a 23 65 6e 64 69 66 0d 0a 20  3a")]..#endif.. 
1af0: 20 20 20 70 75 62 6c 69 63 20 6e 65 77 20 53 51     public new SQ
1b00: 4c 69 74 65 43 6f 6d 6d 61 6e 64 20 55 70 64 61  LiteCommand Upda
1b10: 74 65 43 6f 6d 6d 61 6e 64 0d 0a 20 20 20 20 7b  teCommand..    {
1b20: 0d 0a 20 20 20 20 20 20 67 65 74 20 7b 20 72 65  ..      get { re
1b30: 74 75 72 6e 20 28 53 51 4c 69 74 65 43 6f 6d 6d  turn (SQLiteComm
1b40: 61 6e 64 29 62 61 73 65 2e 55 70 64 61 74 65 43  and)base.UpdateC
1b50: 6f 6d 6d 61 6e 64 3b 20 7d 0d 0a 20 20 20 20 20  ommand; }..     
1b60: 20 73 65 74 20 7b 20 62 61 73 65 2e 55 70 64 61   set { base.Upda
1b70: 74 65 43 6f 6d 6d 61 6e 64 20 3d 20 76 61 6c 75  teCommand = valu
1b80: 65 3b 20 7d 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20  e; }..    }.... 
1b90: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
1ba0: 0d 0a 20 20 20 20 2f 2f 2f 20 47 65 74 73 2f 73  ..    /// Gets/s
1bb0: 65 74 73 20 74 68 65 20 64 65 6c 65 74 65 20 63  ets the delete c
1bc0: 6f 6d 6d 61 6e 64 20 66 6f 72 20 74 68 69 73 20  ommand for this 
1bd0: 44 61 74 61 41 64 61 70 74 65 72 0d 0a 20 20 20  DataAdapter..   
1be0: 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d   /// </summary>.
1bf0: 0a 23 69 66 20 21 50 4c 41 54 46 4f 52 4d 5f 43  .#if !PLATFORM_C
1c00: 4f 4d 50 41 43 54 46 52 41 4d 45 57 4f 52 4b 0d  OMPACTFRAMEWORK.
1c10: 0a 20 20 20 20 5b 44 65 66 61 75 6c 74 56 61 6c  .    [DefaultVal
1c20: 75 65 28 28 73 74 72 69 6e 67 29 6e 75 6c 6c 29  ue((string)null)
1c30: 2c 20 45 64 69 74 6f 72 28 22 4d 69 63 72 6f 73  , Editor("Micros
1c40: 6f 66 74 2e 56 53 44 65 73 69 67 6e 65 72 2e 44  oft.VSDesigner.D
1c50: 61 74 61 2e 44 65 73 69 67 6e 2e 44 42 43 6f 6d  ata.Design.DBCom
1c60: 6d 61 6e 64 45 64 69 74 6f 72 2c 20 4d 69 63 72  mandEditor, Micr
1c70: 6f 73 6f 66 74 2e 56 53 44 65 73 69 67 6e 65 72  osoft.VSDesigner
1c80: 2c 20 56 65 72 73 69 6f 6e 3d 38 2e 30 2e 30 2e  , Version=8.0.0.
1c90: 30 2c 20 43 75 6c 74 75 72 65 3d 6e 65 75 74 72  0, Culture=neutr
1ca0: 61 6c 2c 20 50 75 62 6c 69 63 4b 65 79 54 6f 6b  al, PublicKeyTok
1cb0: 65 6e 3d 62 30 33 66 35 66 37 66 31 31 64 35 30  en=b03f5f7f11d50
1cc0: 61 33 61 22 2c 20 22 53 79 73 74 65 6d 2e 44 72  a3a", "System.Dr
1cd0: 61 77 69 6e 67 2e 44 65 73 69 67 6e 2e 55 49 54  awing.Design.UIT
1ce0: 79 70 65 45 64 69 74 6f 72 2c 20 53 79 73 74 65  ypeEditor, Syste
1cf0: 6d 2e 44 72 61 77 69 6e 67 2c 20 56 65 72 73 69  m.Drawing, Versi
1d00: 6f 6e 3d 32 2e 30 2e 30 2e 30 2c 20 43 75 6c 74  on=2.0.0.0, Cult
1d10: 75 72 65 3d 6e 65 75 74 72 61 6c 2c 20 50 75 62  ure=neutral, Pub
1d20: 6c 69 63 4b 65 79 54 6f 6b 65 6e 3d 62 30 33 66  licKeyToken=b03f
1d30: 35 66 37 66 31 31 64 35 30 61 33 61 22 29 5d 0d  5f7f11d50a3a")].
1d40: 0a 23 65 6e 64 69 66 0d 0a 20 20 20 20 70 75 62  .#endif..    pub
1d50: 6c 69 63 20 6e 65 77 20 53 51 4c 69 74 65 43 6f  lic new SQLiteCo
1d60: 6d 6d 61 6e 64 20 44 65 6c 65 74 65 43 6f 6d 6d  mmand DeleteComm
1d70: 61 6e 64 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20  and..    {..    
1d80: 20 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 28    get { return (
1d90: 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 29 62 61  SQLiteCommand)ba
1da0: 73 65 2e 44 65 6c 65 74 65 43 6f 6d 6d 61 6e 64  se.DeleteCommand
1db0: 3b 20 7d 0d 0a 20 20 20 20 20 20 73 65 74 20 7b  ; }..      set {
1dc0: 20 62 61 73 65 2e 44 65 6c 65 74 65 43 6f 6d 6d   base.DeleteComm
1dd0: 61 6e 64 20 3d 20 76 61 6c 75 65 3b 20 7d 0d 0a  and = value; }..
1de0: 20 20 20 20 7d 0d 0a 20 20 7d 0d 0a 7d 0d 0a         }..  }..}..