System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 161266487edf0cd1e837a0df71c44675de8206ee:


0000: 2f 2a 2a 2a 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 0d 0a 20 2a 20 41 44  *********.. * AD
0040: 4f 2e 4e 45 54 20 32 2e 30 20 44 61 74 61 20 50  O.NET 2.0 Data P
0050: 72 6f 76 69 64 65 72 20 66 6f 72 20 53 51 4c 69  rovider for SQLi
0060: 74 65 20 56 65 72 73 69 6f 6e 20 33 2e 58 0d 0a  te Version 3.X..
0070: 20 2a 20 57 72 69 74 74 65 6e 20 62 79 20 52 6f   * Written by Ro
0080: 62 65 72 74 20 53 69 6d 70 73 6f 6e 20 28 72 6f  bert Simpson (ro
0090: 62 65 72 74 40 62 6c 61 63 6b 63 61 73 74 6c 65  bert@blackcastle
00a0: 73 6f 66 74 2e 63 6f 6d 29 0d 0a 20 2a 20 0d 0a  soft.com).. * ..
00b0: 20 2a 20 52 65 6c 65 61 73 65 64 20 74 6f 20 74   * Released to t
00c0: 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e  he public domain
00d0: 2c 20 75 73 65 20 61 74 20 79 6f 75 72 20 6f 77  , use at your ow
00e0: 6e 20 72 69 73 6b 21 0d 0a 20 2a 2a 2a 2a 2a 2a  n 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 2f 0d 0a 0d 0a 6e 61 6d 65 73 70 61 63 65  **/....namespace
0130: 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c   System.Data.SQL
0140: 69 74 65 0d 0a 7b 0d 0a 20 20 75 73 69 6e 67 20  ite..{..  using 
0150: 53 79 73 74 65 6d 3b 0d 0a 20 20 75 73 69 6e 67  System;..  using
0160: 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 43 6f 6d   System.Data.Com
0170: 6d 6f 6e 3b 0d 0a 20 20 75 73 69 6e 67 20 53 79  mon;..  using Sy
0180: 73 74 65 6d 2e 43 6f 6d 70 6f 6e 65 6e 74 4d 6f  stem.ComponentMo
0190: 64 65 6c 3b 0d 0a 0d 0a 20 20 2f 2f 2f 20 3c 73  del;....  /// <s
01a0: 75 6d 6d 61 72 79 3e 0d 0a 20 20 2f 2f 2f 20 53  ummary>..  /// S
01b0: 51 4c 69 74 65 20 69 6d 70 6c 65 6d 65 6e 74 61  QLite implementa
01c0: 74 69 6f 6e 20 6f 66 20 44 62 44 61 74 61 41 64  tion of DbDataAd
01d0: 61 70 74 65 72 2e 0d 0a 20 20 2f 2f 2f 20 3c 2f  apter...  /// </
01e0: 73 75 6d 6d 61 72 79 3e 0d 0a 23 69 66 20 21 50  summary>..#if !P
01f0: 4c 41 54 46 4f 52 4d 5f 43 4f 4d 50 41 43 54 46  LATFORM_COMPACTF
0200: 52 41 4d 45 57 4f 52 4b 0d 0a 20 20 5b 44 65 66  RAMEWORK..  [Def
0210: 61 75 6c 74 45 76 65 6e 74 28 22 52 6f 77 55 70  aultEvent("RowUp
0220: 64 61 74 65 64 22 29 5d 0d 0a 20 20 5b 54 6f 6f  dated")]..  [Too
0230: 6c 62 6f 78 49 74 65 6d 28 22 53 51 4c 69 74 65  lboxItem("SQLite
0240: 2e 44 65 73 69 67 6e 65 72 2e 53 51 4c 69 74 65  .Designer.SQLite
0250: 44 61 74 61 41 64 61 70 74 65 72 54 6f 6f 6c 62  DataAdapterToolb
0260: 6f 78 49 74 65 6d 2c 20 53 51 4c 69 74 65 2e 44  oxItem, SQLite.D
0270: 65 73 69 67 6e 65 72 2c 20 56 65 72 73 69 6f 6e  esigner, Version
0280: 3d 22 20 2b 20 53 51 4c 69 74 65 33 2e 44 65 73  =" + SQLite3.Des
0290: 69 67 6e 65 72 56 65 72 73 69 6f 6e 20 2b 20 22  ignerVersion + "
02a0: 2c 20 43 75 6c 74 75 72 65 3d 6e 65 75 74 72 61  , Culture=neutra
02b0: 6c 2c 20 50 75 62 6c 69 63 4b 65 79 54 6f 6b 65  l, PublicKeyToke
02c0: 6e 3d 64 62 39 33 37 62 63 32 64 34 34 66 66 31  n=db937bc2d44ff1
02d0: 33 39 22 29 5d 0d 0a 20 20 5b 44 65 73 69 67 6e  39")]..  [Design
02e0: 65 72 28 22 4d 69 63 72 6f 73 6f 66 74 2e 56 53  er("Microsoft.VS
02f0: 44 65 73 69 67 6e 65 72 2e 44 61 74 61 2e 56 53  Designer.Data.VS
0300: 2e 53 71 6c 44 61 74 61 41 64 61 70 74 65 72 44  .SqlDataAdapterD
0310: 65 73 69 67 6e 65 72 2c 20 4d 69 63 72 6f 73 6f  esigner, Microso
0320: 66 74 2e 56 53 44 65 73 69 67 6e 65 72 2c 20 56  ft.VSDesigner, V
0330: 65 72 73 69 6f 6e 3d 38 2e 30 2e 30 2e 30 2c 20  ersion=8.0.0.0, 
0340: 43 75 6c 74 75 72 65 3d 6e 65 75 74 72 61 6c 2c  Culture=neutral,
0350: 20 50 75 62 6c 69 63 4b 65 79 54 6f 6b 65 6e 3d   PublicKeyToken=
0360: 62 30 33 66 35 66 37 66 31 31 64 35 30 61 33 61  b03f5f7f11d50a3a
0370: 22 29 5d 0d 0a 23 65 6e 64 69 66 0d 0a 20 20 70  ")]..#endif..  p
0380: 75 62 6c 69 63 20 73 65 61 6c 65 64 20 63 6c 61  ublic sealed cla
0390: 73 73 20 53 51 4c 69 74 65 44 61 74 61 41 64 61  ss SQLiteDataAda
03a0: 70 74 65 72 20 3a 20 44 62 44 61 74 61 41 64 61  pter : DbDataAda
03b0: 70 74 65 72 0d 0a 20 20 7b 0d 0a 20 20 20 20 70  pter..  {..    p
03c0: 72 69 76 61 74 65 20 62 6f 6f 6c 20 64 69 73 70  rivate bool disp
03d0: 6f 73 65 53 65 6c 65 63 74 20 3d 20 74 72 75 65  oseSelect = true
03e0: 3b 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f  ;....    ///////
03f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0400: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0410: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0420: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0430: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0440: 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20 20  ////////....    
0450: 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 6f  private static o
0460: 62 6a 65 63 74 20 5f 75 70 64 61 74 69 6e 67 45  bject _updatingE
0470: 76 65 6e 74 50 48 20 3d 20 6e 65 77 20 6f 62 6a  ventPH = new obj
0480: 65 63 74 28 29 3b 0d 0a 20 20 20 20 70 72 69 76  ect();..    priv
0490: 61 74 65 20 73 74 61 74 69 63 20 6f 62 6a 65 63  ate static objec
04a0: 74 20 5f 75 70 64 61 74 65 64 45 76 65 6e 74 50  t _updatedEventP
04b0: 48 20 3d 20 6e 65 77 20 6f 62 6a 65 63 74 28 29  H = new object()
04c0: 3b 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f  ;....    ///////
04d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
04e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
04f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0500: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0510: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0520: 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20 20  ////////....    
0530: 23 72 65 67 69 6f 6e 20 50 75 62 6c 69 63 20 43  #region Public C
0540: 6f 6e 73 74 72 75 63 74 6f 72 73 0d 0a 20 20 20  onstructors..   
0550: 20 2f 2f 2f 20 3c 6f 76 65 72 6c 6f 61 64 73 3e   /// <overloads>
0560: 0d 0a 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 63  ..    /// This c
0570: 6c 61 73 73 20 69 73 20 6a 75 73 74 20 61 20 73  lass is just a s
0580: 68 65 6c 6c 20 61 72 6f 75 6e 64 20 74 68 65 20  hell around the 
0590: 44 62 44 61 74 61 41 64 61 70 74 65 72 2e 20 20  DbDataAdapter.  
05a0: 4e 6f 74 68 69 6e 67 20 66 72 6f 6d 0d 0a 20 20  Nothing from..  
05b0: 20 20 2f 2f 2f 20 44 62 44 61 74 61 41 64 61 70    /// DbDataAdap
05c0: 74 65 72 20 69 73 20 6f 76 65 72 72 69 64 64 65  ter is overridde
05d0: 6e 20 68 65 72 65 2c 20 6a 75 73 74 20 61 20 66  n here, just a f
05e0: 65 77 20 63 6f 6e 73 74 72 75 63 74 6f 72 73 20  ew constructors 
05f0: 61 72 65 20 64 65 66 69 6e 65 64 2e 0d 0a 20 20  are defined...  
0600: 20 20 2f 2f 2f 20 3c 2f 6f 76 65 72 6c 6f 61 64    /// </overload
0610: 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  s>..    /// <sum
0620: 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 44  mary>..    /// D
0630: 65 66 61 75 6c 74 20 63 6f 6e 73 74 72 75 63 74  efault construct
0640: 6f 72 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73  or...    /// </s
0650: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 70 75 62  ummary>..    pub
0660: 6c 69 63 20 53 51 4c 69 74 65 44 61 74 61 41 64  lic SQLiteDataAd
0670: 61 70 74 65 72 28 29 0d 0a 20 20 20 20 7b 0d 0a  apter()..    {..
0680: 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f      }....    ///
0690: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
06a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
06b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
06c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
06d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
06e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a  ////////////....
06f0: 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79      /// <summary
0700: 3e 0d 0a 20 20 20 20 2f 2f 2f 20 43 6f 6e 73 74  >..    /// Const
0710: 72 75 63 74 73 20 61 20 64 61 74 61 20 61 64 61  ructs a data ada
0720: 70 74 65 72 20 75 73 69 6e 67 20 74 68 65 20 73  pter using the s
0730: 70 65 63 69 66 69 65 64 20 73 65 6c 65 63 74 20  pecified select 
0740: 63 6f 6d 6d 61 6e 64 2e 0d 0a 20 20 20 20 2f 2f  command...    //
0750: 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  / </summary>..  
0760: 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d    /// <param nam
0770: 65 3d 22 63 6d 64 22 3e 0d 0a 20 20 20 20 2f 2f  e="cmd">..    //
0780: 2f 20 54 68 65 20 73 65 6c 65 63 74 20 63 6f 6d  / The select com
0790: 6d 61 6e 64 20 74 6f 20 61 73 73 6f 63 69 61 74  mand to associat
07a0: 65 20 77 69 74 68 20 74 68 65 20 61 64 61 70 74  e with the adapt
07b0: 65 72 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 70  er...    /// </p
07c0: 61 72 61 6d 3e 0d 0a 20 20 20 20 70 75 62 6c 69  aram>..    publi
07d0: 63 20 53 51 4c 69 74 65 44 61 74 61 41 64 61 70  c SQLiteDataAdap
07e0: 74 65 72 28 53 51 4c 69 74 65 43 6f 6d 6d 61 6e  ter(SQLiteComman
07f0: 64 20 63 6d 64 29 0d 0a 20 20 20 20 7b 0d 0a 20  d cmd)..    {.. 
0800: 20 20 20 20 20 53 65 6c 65 63 74 43 6f 6d 6d 61       SelectComma
0810: 6e 64 20 3d 20 63 6d 64 3b 0d 0a 20 20 20 20 20  nd = cmd;..     
0820: 20 64 69 73 70 6f 73 65 53 65 6c 65 63 74 20 3d   disposeSelect =
0830: 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 7d 0d 0a   false;..    }..
0840: 0d 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ..    //////////
0850: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0860: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0870: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0880: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0890: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
08a0: 2f 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20 20 2f 2f 2f  /////....    ///
08b0: 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20   <summary>..    
08c0: 2f 2f 2f 20 43 6f 6e 73 74 72 75 63 74 73 20 61  /// Constructs a
08d0: 20 64 61 74 61 20 61 64 61 70 74 65 72 20 77 69   data adapter wi
08e0: 74 68 20 74 68 65 20 73 75 70 70 6c 69 65 64 20  th the supplied 
08f0: 73 65 6c 65 63 74 20 63 6f 6d 6d 61 6e 64 20 74  select command t
0900: 65 78 74 20 61 6e 64 0d 0a 20 20 20 20 2f 2f 2f  ext and..    ///
0910: 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68   associated with
0920: 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 63   the specified c
0930: 6f 6e 6e 65 63 74 69 6f 6e 2e 0d 0a 20 20 20 20  onnection...    
0940: 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a  /// </summary>..
0950: 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e      /// <param n
0960: 61 6d 65 3d 22 63 6f 6d 6d 61 6e 64 54 65 78 74  ame="commandText
0970: 22 3e 0d 0a 20 20 20 20 2f 2f 2f 20 54 68 65 20  ">..    /// The 
0980: 73 65 6c 65 63 74 20 63 6f 6d 6d 61 6e 64 20 74  select command t
0990: 65 78 74 20 74 6f 20 61 73 73 6f 63 69 61 74 65  ext to associate
09a0: 20 77 69 74 68 20 74 68 65 20 64 61 74 61 20 61   with the data a
09b0: 64 61 70 74 65 72 2e 0d 0a 20 20 20 20 2f 2f 2f  dapter...    ///
09c0: 20 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 2f   </param>..    /
09d0: 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22  // <param name="
09e0: 63 6f 6e 6e 65 63 74 69 6f 6e 22 3e 0d 0a 20 20  connection">..  
09f0: 20 20 2f 2f 2f 20 54 68 65 20 63 6f 6e 6e 65 63    /// The connec
0a00: 74 69 6f 6e 20 74 6f 20 61 73 73 6f 63 69 61 74  tion to associat
0a10: 65 20 77 69 74 68 20 74 68 65 20 73 65 6c 65 63  e with the selec
0a20: 74 20 63 6f 6d 6d 61 6e 64 2e 0d 0a 20 20 20 20  t command...    
0a30: 2f 2f 2f 20 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20  /// </param>..  
0a40: 20 20 70 75 62 6c 69 63 20 53 51 4c 69 74 65 44    public SQLiteD
0a50: 61 74 61 41 64 61 70 74 65 72 28 73 74 72 69 6e  ataAdapter(strin
0a60: 67 20 63 6f 6d 6d 61 6e 64 54 65 78 74 2c 20 53  g commandText, S
0a70: 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 20  QLiteConnection 
0a80: 63 6f 6e 6e 65 63 74 69 6f 6e 29 0d 0a 20 20 20  connection)..   
0a90: 20 7b 0d 0a 20 20 20 20 20 20 53 65 6c 65 63 74   {..      Select
0aa0: 43 6f 6d 6d 61 6e 64 20 3d 20 6e 65 77 20 53 51  Command = new SQ
0ab0: 4c 69 74 65 43 6f 6d 6d 61 6e 64 28 63 6f 6d 6d  LiteCommand(comm
0ac0: 61 6e 64 54 65 78 74 2c 20 63 6f 6e 6e 65 63 74  andText, connect
0ad0: 69 6f 6e 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a  ion);..    }....
0ae0: 20 20 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f      ////////////
0af0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0b00: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0b10: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0b20: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0b30: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0b40: 2f 2f 2f 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c  ///....    /// <
0b50: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f  summary>..    //
0b60: 2f 20 43 6f 6e 73 74 72 75 63 74 73 20 61 20 64  / Constructs a d
0b70: 61 74 61 20 61 64 61 70 74 65 72 20 77 69 74 68  ata adapter with
0b80: 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 73   the specified s
0b90: 65 6c 65 63 74 20 63 6f 6d 6d 61 6e 64 20 74 65  elect command te
0ba0: 78 74 2c 0d 0a 20 20 20 20 2f 2f 2f 20 61 6e 64  xt,..    /// and
0bb0: 20 75 73 69 6e 67 20 74 68 65 20 73 70 65 63 69   using the speci
0bc0: 66 69 65 64 20 64 61 74 61 62 61 73 65 20 63 6f  fied database co
0bd0: 6e 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 2e  nnection string.
0be0: 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d  ..    /// </summ
0bf0: 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 70  ary>..    /// <p
0c00: 61 72 61 6d 20 6e 61 6d 65 3d 22 63 6f 6d 6d 61  aram name="comma
0c10: 6e 64 54 65 78 74 22 3e 0d 0a 20 20 20 20 2f 2f  ndText">..    //
0c20: 2f 20 54 68 65 20 73 65 6c 65 63 74 20 63 6f 6d  / The select com
0c30: 6d 61 6e 64 20 74 65 78 74 20 74 6f 20 75 73 65  mand text to use
0c40: 20 74 6f 20 63 6f 6e 73 74 72 75 63 74 20 61 20   to construct a 
0c50: 73 65 6c 65 63 74 20 63 6f 6d 6d 61 6e 64 2e 0d  select command..
0c60: 0a 20 20 20 20 2f 2f 2f 20 3c 2f 70 61 72 61 6d  .    /// </param
0c70: 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61  >..    /// <para
0c80: 6d 20 6e 61 6d 65 3d 22 63 6f 6e 6e 65 63 74 69  m name="connecti
0c90: 6f 6e 53 74 72 69 6e 67 22 3e 0d 0a 20 20 20 20  onString">..    
0ca0: 2f 2f 2f 20 41 20 63 6f 6e 6e 65 63 74 69 6f 6e  /// A connection
0cb0: 20 73 74 72 69 6e 67 20 73 75 69 74 61 62 6c 65   string suitable
0cc0: 20 66 6f 72 20 70 61 73 73 69 6e 67 20 74 6f 20   for passing to 
0cd0: 61 20 6e 65 77 20 53 51 4c 69 74 65 43 6f 6e 6e  a new SQLiteConn
0ce0: 65 63 74 69 6f 6e 2c 0d 0a 20 20 20 20 2f 2f 2f  ection,..    ///
0cf0: 20 77 68 69 63 68 20 69 73 20 61 73 73 6f 63 69   which is associ
0d00: 61 74 65 64 20 77 69 74 68 20 74 68 65 20 73 65  ated with the se
0d10: 6c 65 63 74 20 63 6f 6d 6d 61 6e 64 2e 0d 0a 20  lect command... 
0d20: 20 20 20 2f 2f 2f 20 3c 2f 70 61 72 61 6d 3e 0d     /// </param>.
0d30: 0a 20 20 20 20 70 75 62 6c 69 63 20 53 51 4c 69  .    public SQLi
0d40: 74 65 44 61 74 61 41 64 61 70 74 65 72 28 0d 0a  teDataAdapter(..
0d50: 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 63          string c
0d60: 6f 6d 6d 61 6e 64 54 65 78 74 2c 0d 0a 20 20 20  ommandText,..   
0d70: 20 20 20 20 20 73 74 72 69 6e 67 20 63 6f 6e 6e       string conn
0d80: 65 63 74 69 6f 6e 53 74 72 69 6e 67 0d 0a 20 20  ectionString..  
0d90: 20 20 20 20 20 20 29 0d 0a 20 20 20 20 20 20 20        )..       
0da0: 20 3a 20 74 68 69 73 28 63 6f 6d 6d 61 6e 64 54   : this(commandT
0db0: 65 78 74 2c 20 63 6f 6e 6e 65 63 74 69 6f 6e 53  ext, connectionS
0dc0: 74 72 69 6e 67 2c 20 66 61 6c 73 65 29 0d 0a 20  tring, false).. 
0dd0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f     {..        //
0de0: 20 64 6f 20 6e 6f 74 68 69 6e 67 2e 0d 0a 20 20   do nothing...  
0df0: 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f    }....    /////
0e00: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0e10: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0e20: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0e30: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0e40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0e50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 20 20  //////////....  
0e60: 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d    /// <summary>.
0e70: 0a 20 20 20 20 2f 2f 2f 20 43 6f 6e 73 74 72 75  .    /// Constru
0e80: 63 74 73 20 61 20 64 61 74 61 20 61 64 61 70 74  cts a data adapt
0e90: 65 72 20 77 69 74 68 20 74 68 65 20 73 70 65 63  er with the spec
0ea0: 69 66 69 65 64 20 73 65 6c 65 63 74 20 63 6f 6d  ified select com
0eb0: 6d 61 6e 64 20 74 65 78 74 2c 0d 0a 20 20 20 20  mand text,..    
0ec0: 2f 2f 2f 20 61 6e 64 20 75 73 69 6e 67 20 74 68  /// and using th
0ed0: 65 20 73 70 65 63 69 66 69 65 64 20 64 61 74 61  e specified data
0ee0: 62 61 73 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20  base connection 
0ef0: 73 74 72 69 6e 67 2e 0d 0a 20 20 20 20 2f 2f 2f  string...    ///
0f00: 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20   </summary>..   
0f10: 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65   /// <param name
0f20: 3d 22 63 6f 6d 6d 61 6e 64 54 65 78 74 22 3e 0d  ="commandText">.
0f30: 0a 20 20 20 20 2f 2f 2f 20 54 68 65 20 73 65 6c  .    /// The sel
0f40: 65 63 74 20 63 6f 6d 6d 61 6e 64 20 74 65 78 74  ect command text
0f50: 20 74 6f 20 75 73 65 20 74 6f 20 63 6f 6e 73 74   to use to const
0f60: 72 75 63 74 20 61 20 73 65 6c 65 63 74 20 63 6f  ruct a select co
0f70: 6d 6d 61 6e 64 2e 0d 0a 20 20 20 20 2f 2f 2f 20  mmand...    /// 
0f80: 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 2f 2f  </param>..    //
0f90: 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 63  / <param name="c
0fa0: 6f 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e 67 22  onnectionString"
0fb0: 3e 0d 0a 20 20 20 20 2f 2f 2f 20 41 20 63 6f 6e  >..    /// A con
0fc0: 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 20 73  nection string s
0fd0: 75 69 74 61 62 6c 65 20 66 6f 72 20 70 61 73 73  uitable for pass
0fe0: 69 6e 67 20 74 6f 20 61 20 6e 65 77 20 53 51 4c  ing to a new SQL
0ff0: 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 2c 0d 0a  iteConnection,..
1000: 20 20 20 20 2f 2f 2f 20 77 68 69 63 68 20 69 73      /// which is
1010: 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68   associated with
1020: 20 74 68 65 20 73 65 6c 65 63 74 20 63 6f 6d 6d   the select comm
1030: 61 6e 64 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f  and...    /// </
1040: 70 61 72 61 6d 3e 0d 0a 20 20 20 20 2f 2f 2f 20  param>..    /// 
1050: 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 70 61 72  <param name="par
1060: 73 65 56 69 61 46 72 61 6d 65 77 6f 72 6b 22 3e  seViaFramework">
1070: 0d 0a 20 20 20 20 2f 2f 2f 20 4e 6f 6e 2d 7a 65  ..    /// Non-ze
1080: 72 6f 20 74 6f 20 70 61 72 73 65 20 74 68 65 20  ro to parse the 
1090: 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e  connection strin
10a0: 67 20 75 73 69 6e 67 20 74 68 65 20 62 75 69 6c  g using the buil
10b0: 74 2d 69 6e 20 28 69 2e 65 2e 0d 0a 20 20 20 20  t-in (i.e...    
10c0: 2f 2f 2f 20 66 72 61 6d 65 77 6f 72 6b 20 70 72  /// framework pr
10d0: 6f 76 69 64 65 64 29 20 70 61 72 73 65 72 20 77  ovided) parser w
10e0: 68 65 6e 20 6f 70 65 6e 69 6e 67 20 74 68 65 20  hen opening the 
10f0: 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0d 0a 20 20 20  connection...   
1100: 20 2f 2f 2f 20 3c 2f 70 61 72 61 6d 3e 0d 0a 20   /// </param>.. 
1110: 20 20 20 70 75 62 6c 69 63 20 53 51 4c 69 74 65     public SQLite
1120: 44 61 74 61 41 64 61 70 74 65 72 28 0d 0a 20 20  DataAdapter(..  
1130: 20 20 20 20 20 20 73 74 72 69 6e 67 20 63 6f 6d        string com
1140: 6d 61 6e 64 54 65 78 74 2c 0d 0a 20 20 20 20 20  mandText,..     
1150: 20 20 20 73 74 72 69 6e 67 20 63 6f 6e 6e 65 63     string connec
1160: 74 69 6f 6e 53 74 72 69 6e 67 2c 0d 0a 20 20 20  tionString,..   
1170: 20 20 20 20 20 62 6f 6f 6c 20 70 61 72 73 65 56       bool parseV
1180: 69 61 46 72 61 6d 65 77 6f 72 6b 0d 0a 20 20 20  iaFramework..   
1190: 20 20 20 20 20 29 0d 0a 20 20 20 20 7b 0d 0a 20       )..    {.. 
11a0: 20 20 20 20 20 53 51 4c 69 74 65 43 6f 6e 6e 65       SQLiteConne
11b0: 63 74 69 6f 6e 20 63 6e 6e 20 3d 20 6e 65 77 20  ction cnn = new 
11c0: 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e  SQLiteConnection
11d0: 28 0d 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e  (..          con
11e0: 6e 65 63 74 69 6f 6e 53 74 72 69 6e 67 2c 20 70  nectionString, p
11f0: 61 72 73 65 56 69 61 46 72 61 6d 65 77 6f 72 6b  arseViaFramework
1200: 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 53 65 6c 65  );....      Sele
1210: 63 74 43 6f 6d 6d 61 6e 64 20 3d 20 6e 65 77 20  ctCommand = new 
1220: 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 28 63 6f  SQLiteCommand(co
1230: 6d 6d 61 6e 64 54 65 78 74 2c 20 63 6e 6e 29 3b  mmandText, cnn);
1240: 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 23 65 6e  ..    }..    #en
1250: 64 72 65 67 69 6f 6e 0d 0a 0d 0a 20 20 20 20 2f  dregion....    /
1260: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1270: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1280: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1290: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
12a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
12b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a  //////////////..
12c0: 0d 0a 20 20 20 20 23 72 65 67 69 6f 6e 20 49 44  ..    #region ID
12d0: 69 73 70 6f 73 61 62 6c 65 20 22 50 61 74 74 65  isposable "Patte
12e0: 72 6e 22 20 4d 65 6d 62 65 72 73 0d 0a 20 20 20  rn" Members..   
12f0: 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 64 69   private bool di
1300: 73 70 6f 73 65 64 3b 0d 0a 20 20 20 20 70 72 69  sposed;..    pri
1310: 76 61 74 65 20 76 6f 69 64 20 43 68 65 63 6b 44  vate void CheckD
1320: 69 73 70 6f 73 65 64 28 29 20 2f 2a 20 74 68 72  isposed() /* thr
1330: 6f 77 20 2a 2f 0d 0a 20 20 20 20 7b 0d 0a 23 69  ow */..    {..#i
1340: 66 20 54 48 52 4f 57 5f 4f 4e 5f 44 49 53 50 4f  f THROW_ON_DISPO
1350: 53 45 44 0d 0a 20 20 20 20 20 20 20 20 69 66 20  SED..        if 
1360: 28 64 69 73 70 6f 73 65 64 29 0d 0a 20 20 20 20  (disposed)..    
1370: 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65          throw ne
1380: 77 20 4f 62 6a 65 63 74 44 69 73 70 6f 73 65 64  w ObjectDisposed
1390: 45 78 63 65 70 74 69 6f 6e 28 74 79 70 65 6f 66  Exception(typeof
13a0: 28 53 51 4c 69 74 65 44 61 74 61 41 64 61 70 74  (SQLiteDataAdapt
13b0: 65 72 29 2e 4e 61 6d 65 29 3b 0d 0a 23 65 6e 64  er).Name);..#end
13c0: 69 66 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20  if..    }....   
13d0: 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f   ///////////////
13e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
13f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1400: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1410: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1420: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1430: 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  ....    /// <sum
1440: 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 43  mary>..    /// C
1450: 6c 65 61 6e 73 20 75 70 20 72 65 73 6f 75 72 63  leans up resourc
1460: 65 73 20 28 6e 61 74 69 76 65 20 61 6e 64 20 6d  es (native and m
1470: 61 6e 61 67 65 64 29 20 61 73 73 6f 63 69 61 74  anaged) associat
1480: 65 64 20 77 69 74 68 20 74 68 65 20 63 75 72 72  ed with the curr
1490: 65 6e 74 20 69 6e 73 74 61 6e 63 65 2e 0d 0a 20  ent instance... 
14a0: 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79     /// </summary
14b0: 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61  >..    /// <para
14c0: 6d 20 6e 61 6d 65 3d 22 64 69 73 70 6f 73 69 6e  m name="disposin
14d0: 67 22 3e 0d 0a 20 20 20 20 2f 2f 2f 20 5a 65 72  g">..    /// Zer
14e0: 6f 20 77 68 65 6e 20 62 65 69 6e 67 20 64 69 73  o when being dis
14f0: 70 6f 73 65 64 20 76 69 61 20 67 61 72 62 61 67  posed via garbag
1500: 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 3b 20 6f 74  e collection; ot
1510: 68 65 72 77 69 73 65 2c 20 6e 6f 6e 2d 7a 65 72  herwise, non-zer
1520: 6f 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 70 61  o...    /// </pa
1530: 72 61 6d 3e 0d 0a 20 20 20 20 70 72 6f 74 65 63  ram>..    protec
1540: 74 65 64 20 6f 76 65 72 72 69 64 65 20 76 6f 69  ted override voi
1550: 64 20 44 69 73 70 6f 73 65 28 62 6f 6f 6c 20 64  d Dispose(bool d
1560: 69 73 70 6f 73 69 6e 67 29 0d 0a 20 20 20 20 7b  isposing)..    {
1570: 0d 0a 20 20 20 20 20 20 20 20 74 72 79 0d 0a 20  ..        try.. 
1580: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20         {..      
1590: 20 20 20 20 20 20 69 66 20 28 21 64 69 73 70 6f        if (!dispo
15a0: 73 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20  sed)..          
15b0: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
15c0: 20 20 20 20 20 69 66 20 28 64 69 73 70 6f 73 69       if (disposi
15d0: 6e 67 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ng)..           
15e0: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20       {..        
15f0: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f              ////
1600: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1610: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1620: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1630: 20 20 20 20 20 20 2f 2f 20 64 69 73 70 6f 73 65        // dispose
1640: 20 6d 61 6e 61 67 65 64 20 72 65 73 6f 75 72 63   managed resourc
1650: 65 73 20 68 65 72 65 2e 2e 2e 0d 0a 20 20 20 20  es here.....    
1660: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1670: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1680: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1690: 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ////....        
16a0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
16b0: 64 69 73 70 6f 73 65 53 65 6c 65 63 74 20 26 26  disposeSelect &&
16c0: 20 28 53 65 6c 65 63 74 43 6f 6d 6d 61 6e 64 20   (SelectCommand 
16d0: 21 3d 20 6e 75 6c 6c 29 29 0d 0a 20 20 20 20 20  != null))..     
16e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b                 {
16f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1700: 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 74            Select
1710: 43 6f 6d 6d 61 6e 64 2e 44 69 73 70 6f 73 65 28  Command.Dispose(
1720: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  );..            
1730: 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65              Sele
1740: 63 74 43 6f 6d 6d 61 6e 64 20 3d 20 6e 75 6c 6c  ctCommand = null
1750: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
1760: 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20         }....    
1770: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1780: 69 66 20 28 49 6e 73 65 72 74 43 6f 6d 6d 61 6e  if (InsertComman
1790: 64 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20  d != null)..    
17a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
17c0: 20 20 20 20 20 20 20 20 20 20 20 49 6e 73 65 72             Inser
17d0: 74 43 6f 6d 6d 61 6e 64 2e 44 69 73 70 6f 73 65  tCommand.Dispose
17e0: 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ();..           
17f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 73               Ins
1800: 65 72 74 43 6f 6d 6d 61 6e 64 20 3d 20 6e 75 6c  ertCommand = nul
1810: 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  l;..            
1820: 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20          }....   
1830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1840: 20 69 66 20 28 55 70 64 61 74 65 43 6f 6d 6d 61   if (UpdateComma
1850: 6e 64 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20  nd != null)..   
1860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1870: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   {..            
1880: 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61              Upda
1890: 74 65 43 6f 6d 6d 61 6e 64 2e 44 69 73 70 6f 73  teCommand.Dispos
18a0: 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  e();..          
18b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 70                Up
18c0: 64 61 74 65 43 6f 6d 6d 61 6e 64 20 3d 20 6e 75  dateCommand = nu
18d0: 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ll;..           
18e0: 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20           }....  
18f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1900: 20 20 69 66 20 28 44 65 6c 65 74 65 43 6f 6d 6d    if (DeleteComm
1910: 61 6e 64 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20  and != null)..  
1920: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1930: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
1940: 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 6c               Del
1950: 65 74 65 43 6f 6d 6d 61 6e 64 2e 44 69 73 70 6f  eteCommand.Dispo
1960: 73 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  se();..         
1970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44                 D
1980: 65 6c 65 74 65 43 6f 6d 6d 61 6e 64 20 3d 20 6e  eleteCommand = n
1990: 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20  ull;..          
19a0: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
19b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a               }..
19c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
19d0: 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f    //////////////
19e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
19f0: 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 20 20 20 20 20 20  ////////..      
1a00: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 65 6c            // rel
1a10: 65 61 73 65 20 75 6e 6d 61 6e 61 67 65 64 20 72  ease unmanaged r
1a20: 65 73 6f 75 72 63 65 73 20 68 65 72 65 2e 2e 2e  esources here...
1a30: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1a40: 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f    //////////////
1a50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1a60: 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 20 20 20 20 20 20  ////////..      
1a70: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
1a80: 20 7d 0d 0a 20 20 20 20 20 20 20 20 66 69 6e 61   }..        fina
1a90: 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a  lly..        {..
1aa0: 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65              base
1ab0: 2e 44 69 73 70 6f 73 65 28 64 69 73 70 6f 73 69  .Dispose(disposi
1ac0: 6e 67 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ng);....        
1ad0: 20 20 20 20 2f 2f 0d 0a 20 20 20 20 20 20 20 20      //..        
1ae0: 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 45 76 65      // NOTE: Eve
1af0: 72 79 74 68 69 6e 67 20 73 68 6f 75 6c 64 20 62  rything should b
1b00: 65 20 66 75 6c 6c 79 20 64 69 73 70 6f 73 65 64  e fully disposed
1b10: 20 61 74 20 74 68 69 73 20 70 6f 69 6e 74 2e 0d   at this point..
1b20: 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 0d  .            //.
1b30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73  .            dis
1b40: 70 6f 73 65 64 20 3d 20 74 72 75 65 3b 0d 0a 20  posed = true;.. 
1b50: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d 0d         }..    }.
1b60: 0a 20 20 20 20 23 65 6e 64 72 65 67 69 6f 6e 0d  .    #endregion.
1b70: 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f  ...    /////////
1b80: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1b90: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1ba0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1bb0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1bc0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1bd0: 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20 20 2f 2f  //////....    //
1be0: 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20  / <summary>..   
1bf0: 20 2f 2f 2f 20 52 6f 77 20 75 70 64 61 74 69 6e   /// Row updatin
1c00: 67 20 65 76 65 6e 74 20 68 61 6e 64 6c 65 72 0d  g event handler.
1c10: 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61  .    /// </summa
1c20: 72 79 3e 0d 0a 20 20 20 20 70 75 62 6c 69 63 20  ry>..    public 
1c30: 65 76 65 6e 74 20 45 76 65 6e 74 48 61 6e 64 6c  event EventHandl
1c40: 65 72 3c 52 6f 77 55 70 64 61 74 69 6e 67 45 76  er<RowUpdatingEv
1c50: 65 6e 74 41 72 67 73 3e 20 52 6f 77 55 70 64 61  entArgs> RowUpda
1c60: 74 69 6e 67 0d 0a 20 20 20 20 7b 0d 0a 20 20 20  ting..    {..   
1c70: 20 20 20 61 64 64 0d 0a 20 20 20 20 20 20 7b 0d     add..      {.
1c80: 0a 20 20 20 20 20 20 20 20 43 68 65 63 6b 44 69  .        CheckDi
1c90: 73 70 6f 73 65 64 28 29 3b 0d 0a 0d 0a 23 69 66  sposed();....#if
1ca0: 20 21 50 4c 41 54 46 4f 52 4d 5f 43 4f 4d 50 41   !PLATFORM_COMPA
1cb0: 43 54 46 52 41 4d 45 57 4f 52 4b 0d 0a 20 20 20  CTFRAMEWORK..   
1cc0: 20 20 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65       EventHandle
1cd0: 72 3c 52 6f 77 55 70 64 61 74 69 6e 67 45 76 65  r<RowUpdatingEve
1ce0: 6e 74 41 72 67 73 3e 20 70 72 65 76 69 6f 75 73  ntArgs> previous
1cf0: 20 3d 20 28 45 76 65 6e 74 48 61 6e 64 6c 65 72   = (EventHandler
1d00: 3c 52 6f 77 55 70 64 61 74 69 6e 67 45 76 65 6e  <RowUpdatingEven
1d10: 74 41 72 67 73 3e 29 62 61 73 65 2e 45 76 65 6e  tArgs>)base.Even
1d20: 74 73 5b 5f 75 70 64 61 74 69 6e 67 45 76 65 6e  ts[_updatingEven
1d30: 74 50 48 5d 3b 0d 0a 20 20 20 20 20 20 20 20 69  tPH];..        i
1d40: 66 20 28 28 70 72 65 76 69 6f 75 73 20 21 3d 20  f ((previous != 
1d50: 6e 75 6c 6c 29 20 26 26 20 28 76 61 6c 75 65 2e  null) && (value.
1d60: 54 61 72 67 65 74 20 69 73 20 44 62 43 6f 6d 6d  Target is DbComm
1d70: 61 6e 64 42 75 69 6c 64 65 72 29 29 0d 0a 20 20  andBuilder))..  
1d80: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
1d90: 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 3c     EventHandler<
1da0: 52 6f 77 55 70 64 61 74 69 6e 67 45 76 65 6e 74  RowUpdatingEvent
1db0: 41 72 67 73 3e 20 68 61 6e 64 6c 65 72 20 3d 20  Args> handler = 
1dc0: 28 45 76 65 6e 74 48 61 6e 64 6c 65 72 3c 52 6f  (EventHandler<Ro
1dd0: 77 55 70 64 61 74 69 6e 67 45 76 65 6e 74 41 72  wUpdatingEventAr
1de0: 67 73 3e 29 46 69 6e 64 42 75 69 6c 64 65 72 28  gs>)FindBuilder(
1df0: 70 72 65 76 69 6f 75 73 29 3b 0d 0a 20 20 20 20  previous);..    
1e00: 20 20 20 20 20 20 69 66 20 28 68 61 6e 64 6c 65        if (handle
1e10: 72 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20  r != null)..    
1e20: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
1e30: 20 20 20 20 20 62 61 73 65 2e 45 76 65 6e 74 73       base.Events
1e40: 2e 52 65 6d 6f 76 65 48 61 6e 64 6c 65 72 28 5f  .RemoveHandler(_
1e50: 75 70 64 61 74 69 6e 67 45 76 65 6e 74 50 48 2c  updatingEventPH,
1e60: 20 68 61 6e 64 6c 65 72 29 3b 0d 0a 20 20 20 20   handler);..    
1e70: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
1e80: 20 7d 0d 0a 23 65 6e 64 69 66 0d 0a 20 20 20 20   }..#endif..    
1e90: 20 20 20 20 62 61 73 65 2e 45 76 65 6e 74 73 2e      base.Events.
1ea0: 41 64 64 48 61 6e 64 6c 65 72 28 5f 75 70 64 61  AddHandler(_upda
1eb0: 74 69 6e 67 45 76 65 6e 74 50 48 2c 20 76 61 6c  tingEventPH, val
1ec0: 75 65 29 3b 20 0d 0a 20 20 20 20 20 20 7d 0d 0a  ue); ..      }..
1ed0: 20 20 20 20 20 20 72 65 6d 6f 76 65 20 7b 20 43        remove { C
1ee0: 68 65 63 6b 44 69 73 70 6f 73 65 64 28 29 3b 20  heckDisposed(); 
1ef0: 62 61 73 65 2e 45 76 65 6e 74 73 2e 52 65 6d 6f  base.Events.Remo
1f00: 76 65 48 61 6e 64 6c 65 72 28 5f 75 70 64 61 74  veHandler(_updat
1f10: 69 6e 67 45 76 65 6e 74 50 48 2c 20 76 61 6c 75  ingEventPH, valu
1f20: 65 29 3b 20 7d 0d 0a 20 20 20 20 7d 0d 0a 0d 0a  e); }..    }....
1f30: 23 69 66 20 21 50 4c 41 54 46 4f 52 4d 5f 43 4f  #if !PLATFORM_CO
1f40: 4d 50 41 43 54 46 52 41 4d 45 57 4f 52 4b 0d 0a  MPACTFRAMEWORK..
1f50: 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61      internal sta
1f60: 74 69 63 20 44 65 6c 65 67 61 74 65 20 46 69 6e  tic Delegate Fin
1f70: 64 42 75 69 6c 64 65 72 28 4d 75 6c 74 69 63 61  dBuilder(Multica
1f80: 73 74 44 65 6c 65 67 61 74 65 20 6d 63 64 29 0d  stDelegate mcd).
1f90: 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 69 66  .    {..      if
1fa0: 20 28 6d 63 64 20 21 3d 20 6e 75 6c 6c 29 0d 0a   (mcd != null)..
1fb0: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
1fc0: 20 44 65 6c 65 67 61 74 65 5b 5d 20 69 6e 76 6f   Delegate[] invo
1fd0: 63 61 74 69 6f 6e 4c 69 73 74 20 3d 20 6d 63 64  cationList = mcd
1fe0: 2e 47 65 74 49 6e 76 6f 63 61 74 69 6f 6e 4c 69  .GetInvocationLi
1ff0: 73 74 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 66  st();..        f
2000: 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69  or (int i = 0; i
2010: 20 3c 20 69 6e 76 6f 63 61 74 69 6f 6e 4c 69 73   < invocationLis
2020: 74 2e 4c 65 6e 67 74 68 3b 20 69 2b 2b 29 0d 0a  t.Length; i++)..
2030: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
2040: 20 20 20 20 20 69 66 20 28 69 6e 76 6f 63 61 74       if (invocat
2050: 69 6f 6e 4c 69 73 74 5b 69 5d 2e 54 61 72 67 65  ionList[i].Targe
2060: 74 20 69 73 20 44 62 43 6f 6d 6d 61 6e 64 42 75  t is DbCommandBu
2070: 69 6c 64 65 72 29 0d 0a 20 20 20 20 20 20 20 20  ilder)..        
2080: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
2090: 20 72 65 74 75 72 6e 20 69 6e 76 6f 63 61 74 69   return invocati
20a0: 6f 6e 4c 69 73 74 5b 69 5d 3b 0d 0a 20 20 20 20  onList[i];..    
20b0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
20c0: 20 7d 0d 0a 20 20 20 20 20 20 7d 0d 0a 20 20 20   }..      }..   
20d0: 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0d     return null;.
20e0: 0a 20 20 20 20 7d 0d 0a 23 65 6e 64 69 66 0d 0a  .    }..#endif..
20f0: 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61  ..    /// <summa
2100: 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 52 6f 77  ry>..    /// Row
2110: 20 75 70 64 61 74 65 64 20 65 76 65 6e 74 20 68   updated event h
2120: 61 6e 64 6c 65 72 0d 0a 20 20 20 20 2f 2f 2f 20  andler..    /// 
2130: 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20  </summary>..    
2140: 70 75 62 6c 69 63 20 65 76 65 6e 74 20 45 76 65  public event Eve
2150: 6e 74 48 61 6e 64 6c 65 72 3c 52 6f 77 55 70 64  ntHandler<RowUpd
2160: 61 74 65 64 45 76 65 6e 74 41 72 67 73 3e 20 52  atedEventArgs> R
2170: 6f 77 55 70 64 61 74 65 64 0d 0a 20 20 20 20 7b  owUpdated..    {
2180: 0d 0a 20 20 20 20 20 20 61 64 64 20 7b 20 43 68  ..      add { Ch
2190: 65 63 6b 44 69 73 70 6f 73 65 64 28 29 3b 20 62  eckDisposed(); b
21a0: 61 73 65 2e 45 76 65 6e 74 73 2e 41 64 64 48 61  ase.Events.AddHa
21b0: 6e 64 6c 65 72 28 5f 75 70 64 61 74 65 64 45 76  ndler(_updatedEv
21c0: 65 6e 74 50 48 2c 20 76 61 6c 75 65 29 3b 20 7d  entPH, value); }
21d0: 0d 0a 20 20 20 20 20 20 72 65 6d 6f 76 65 20 7b  ..      remove {
21e0: 20 43 68 65 63 6b 44 69 73 70 6f 73 65 64 28 29   CheckDisposed()
21f0: 3b 20 62 61 73 65 2e 45 76 65 6e 74 73 2e 52 65  ; base.Events.Re
2200: 6d 6f 76 65 48 61 6e 64 6c 65 72 28 5f 75 70 64  moveHandler(_upd
2210: 61 74 65 64 45 76 65 6e 74 50 48 2c 20 76 61 6c  atedEventPH, val
2220: 75 65 29 3b 20 7d 0d 0a 20 20 20 20 7d 0d 0a 0d  ue); }..    }...
2230: 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72  .    /// <summar
2240: 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 52 61 69 73  y>..    /// Rais
2250: 65 64 20 62 79 20 74 68 65 20 75 6e 64 65 72 6c  ed by the underl
2260: 79 69 6e 67 20 44 62 44 61 74 61 41 64 61 70 74  ying DbDataAdapt
2270: 65 72 20 77 68 65 6e 20 61 20 72 6f 77 20 69 73  er when a row is
2280: 20 62 65 69 6e 67 20 75 70 64 61 74 65 64 0d 0a   being updated..
2290: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
22a0: 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 70 61 72  y>..    /// <par
22b0: 61 6d 20 6e 61 6d 65 3d 22 76 61 6c 75 65 22 3e  am name="value">
22c0: 54 68 65 20 65 76 65 6e 74 27 73 20 73 70 65 63  The event's spec
22d0: 69 66 69 63 73 3c 2f 70 61 72 61 6d 3e 0d 0a 20  ifics</param>.. 
22e0: 20 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65     protected ove
22f0: 72 72 69 64 65 20 76 6f 69 64 20 4f 6e 52 6f 77  rride void OnRow
2300: 55 70 64 61 74 69 6e 67 28 52 6f 77 55 70 64 61  Updating(RowUpda
2310: 74 69 6e 67 45 76 65 6e 74 41 72 67 73 20 76 61  tingEventArgs va
2320: 6c 75 65 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20  lue)..    {..   
2330: 20 20 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 3c     EventHandler<
2340: 52 6f 77 55 70 64 61 74 69 6e 67 45 76 65 6e 74  RowUpdatingEvent
2350: 41 72 67 73 3e 20 68 61 6e 64 6c 65 72 20 3d 20  Args> handler = 
2360: 62 61 73 65 2e 45 76 65 6e 74 73 5b 5f 75 70 64  base.Events[_upd
2370: 61 74 69 6e 67 45 76 65 6e 74 50 48 5d 20 61 73  atingEventPH] as
2380: 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 3c 52 6f   EventHandler<Ro
2390: 77 55 70 64 61 74 69 6e 67 45 76 65 6e 74 41 72  wUpdatingEventAr
23a0: 67 73 3e 3b 0d 0a 0d 0a 20 20 20 20 20 20 69 66  gs>;....      if
23b0: 20 28 68 61 6e 64 6c 65 72 20 21 3d 20 6e 75 6c   (handler != nul
23c0: 6c 29 0d 0a 20 20 20 20 20 20 20 20 68 61 6e 64  l)..        hand
23d0: 6c 65 72 28 74 68 69 73 2c 20 76 61 6c 75 65 29  ler(this, value)
23e0: 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20  ;..    }....    
23f0: 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20  /// <summary>.. 
2400: 20 20 20 2f 2f 2f 20 52 61 69 73 65 64 20 62 79     /// Raised by
2410: 20 44 62 44 61 74 61 41 64 61 70 74 65 72 20 61   DbDataAdapter a
2420: 66 74 65 72 20 61 20 72 6f 77 20 69 73 20 75 70  fter a row is up
2430: 64 61 74 65 64 0d 0a 20 20 20 20 2f 2f 2f 20 3c  dated..    /// <
2440: 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f  /summary>..    /
2450: 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22  // <param name="
2460: 76 61 6c 75 65 22 3e 54 68 65 20 65 76 65 6e 74  value">The event
2470: 27 73 20 73 70 65 63 69 66 69 63 73 3c 2f 70 61  's specifics</pa
2480: 72 61 6d 3e 0d 0a 20 20 20 20 70 72 6f 74 65 63  ram>..    protec
2490: 74 65 64 20 6f 76 65 72 72 69 64 65 20 76 6f 69  ted override voi
24a0: 64 20 4f 6e 52 6f 77 55 70 64 61 74 65 64 28 52  d OnRowUpdated(R
24b0: 6f 77 55 70 64 61 74 65 64 45 76 65 6e 74 41 72  owUpdatedEventAr
24c0: 67 73 20 76 61 6c 75 65 29 0d 0a 20 20 20 20 7b  gs value)..    {
24d0: 0d 0a 20 20 20 20 20 20 45 76 65 6e 74 48 61 6e  ..      EventHan
24e0: 64 6c 65 72 3c 52 6f 77 55 70 64 61 74 65 64 45  dler<RowUpdatedE
24f0: 76 65 6e 74 41 72 67 73 3e 20 68 61 6e 64 6c 65  ventArgs> handle
2500: 72 20 3d 20 62 61 73 65 2e 45 76 65 6e 74 73 5b  r = base.Events[
2510: 5f 75 70 64 61 74 65 64 45 76 65 6e 74 50 48 5d  _updatedEventPH]
2520: 20 61 73 20 45 76 65 6e 74 48 61 6e 64 6c 65 72   as EventHandler
2530: 3c 52 6f 77 55 70 64 61 74 65 64 45 76 65 6e 74  <RowUpdatedEvent
2540: 41 72 67 73 3e 3b 0d 0a 0d 0a 20 20 20 20 20 20  Args>;....      
2550: 69 66 20 28 68 61 6e 64 6c 65 72 20 21 3d 20 6e  if (handler != n
2560: 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 68 61  ull)..        ha
2570: 6e 64 6c 65 72 28 74 68 69 73 2c 20 76 61 6c 75  ndler(this, valu
2580: 65 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20  e);..    }....  
2590: 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d    /// <summary>.
25a0: 0a 20 20 20 20 2f 2f 2f 20 47 65 74 73 2f 73 65  .    /// Gets/se
25b0: 74 73 20 74 68 65 20 73 65 6c 65 63 74 20 63 6f  ts the select co
25c0: 6d 6d 61 6e 64 20 66 6f 72 20 74 68 69 73 20 44  mmand for this D
25d0: 61 74 61 41 64 61 70 74 65 72 0d 0a 20 20 20 20  ataAdapter..    
25e0: 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a  /// </summary>..
25f0: 23 69 66 20 21 50 4c 41 54 46 4f 52 4d 5f 43 4f  #if !PLATFORM_CO
2600: 4d 50 41 43 54 46 52 41 4d 45 57 4f 52 4b 0d 0a  MPACTFRAMEWORK..
2610: 20 20 20 20 5b 44 65 66 61 75 6c 74 56 61 6c 75      [DefaultValu
2620: 65 28 28 73 74 72 69 6e 67 29 6e 75 6c 6c 29 2c  e((string)null),
2630: 20 45 64 69 74 6f 72 28 22 4d 69 63 72 6f 73 6f   Editor("Microso
2640: 66 74 2e 56 53 44 65 73 69 67 6e 65 72 2e 44 61  ft.VSDesigner.Da
2650: 74 61 2e 44 65 73 69 67 6e 2e 44 42 43 6f 6d 6d  ta.Design.DBComm
2660: 61 6e 64 45 64 69 74 6f 72 2c 20 4d 69 63 72 6f  andEditor, Micro
2670: 73 6f 66 74 2e 56 53 44 65 73 69 67 6e 65 72 2c  soft.VSDesigner,
2680: 20 56 65 72 73 69 6f 6e 3d 38 2e 30 2e 30 2e 30   Version=8.0.0.0
2690: 2c 20 43 75 6c 74 75 72 65 3d 6e 65 75 74 72 61  , Culture=neutra
26a0: 6c 2c 20 50 75 62 6c 69 63 4b 65 79 54 6f 6b 65  l, PublicKeyToke
26b0: 6e 3d 62 30 33 66 35 66 37 66 31 31 64 35 30 61  n=b03f5f7f11d50a
26c0: 33 61 22 2c 20 22 53 79 73 74 65 6d 2e 44 72 61  3a", "System.Dra
26d0: 77 69 6e 67 2e 44 65 73 69 67 6e 2e 55 49 54 79  wing.Design.UITy
26e0: 70 65 45 64 69 74 6f 72 2c 20 53 79 73 74 65 6d  peEditor, System
26f0: 2e 44 72 61 77 69 6e 67 2c 20 56 65 72 73 69 6f  .Drawing, Versio
2700: 6e 3d 32 2e 30 2e 30 2e 30 2c 20 43 75 6c 74 75  n=2.0.0.0, Cultu
2710: 72 65 3d 6e 65 75 74 72 61 6c 2c 20 50 75 62 6c  re=neutral, Publ
2720: 69 63 4b 65 79 54 6f 6b 65 6e 3d 62 30 33 66 35  icKeyToken=b03f5
2730: 66 37 66 31 31 64 35 30 61 33 61 22 29 5d 0d 0a  f7f11d50a3a")]..
2740: 23 65 6e 64 69 66 0d 0a 20 20 20 20 70 75 62 6c  #endif..    publ
2750: 69 63 20 6e 65 77 20 53 51 4c 69 74 65 43 6f 6d  ic new SQLiteCom
2760: 6d 61 6e 64 20 53 65 6c 65 63 74 43 6f 6d 6d 61  mand SelectComma
2770: 6e 64 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20  nd..    {..     
2780: 20 67 65 74 20 7b 20 43 68 65 63 6b 44 69 73 70   get { CheckDisp
2790: 6f 73 65 64 28 29 3b 20 72 65 74 75 72 6e 20 28  osed(); return (
27a0: 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 29 62 61  SQLiteCommand)ba
27b0: 73 65 2e 53 65 6c 65 63 74 43 6f 6d 6d 61 6e 64  se.SelectCommand
27c0: 3b 20 7d 0d 0a 20 20 20 20 20 20 73 65 74 20 7b  ; }..      set {
27d0: 20 43 68 65 63 6b 44 69 73 70 6f 73 65 64 28 29   CheckDisposed()
27e0: 3b 20 62 61 73 65 2e 53 65 6c 65 63 74 43 6f 6d  ; base.SelectCom
27f0: 6d 61 6e 64 20 3d 20 76 61 6c 75 65 3b 20 7d 0d  mand = value; }.
2800: 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f  .    }....    //
2810: 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20  / <summary>..   
2820: 20 2f 2f 2f 20 47 65 74 73 2f 73 65 74 73 20 74   /// Gets/sets t
2830: 68 65 20 69 6e 73 65 72 74 20 63 6f 6d 6d 61 6e  he insert comman
2840: 64 20 66 6f 72 20 74 68 69 73 20 44 61 74 61 41  d for this DataA
2850: 64 61 70 74 65 72 0d 0a 20 20 20 20 2f 2f 2f 20  dapter..    /// 
2860: 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 23 69 66 20  </summary>..#if 
2870: 21 50 4c 41 54 46 4f 52 4d 5f 43 4f 4d 50 41 43  !PLATFORM_COMPAC
2880: 54 46 52 41 4d 45 57 4f 52 4b 0d 0a 20 20 20 20  TFRAMEWORK..    
2890: 5b 44 65 66 61 75 6c 74 56 61 6c 75 65 28 28 73  [DefaultValue((s
28a0: 74 72 69 6e 67 29 6e 75 6c 6c 29 2c 20 45 64 69  tring)null), Edi
28b0: 74 6f 72 28 22 4d 69 63 72 6f 73 6f 66 74 2e 56  tor("Microsoft.V
28c0: 53 44 65 73 69 67 6e 65 72 2e 44 61 74 61 2e 44  SDesigner.Data.D
28d0: 65 73 69 67 6e 2e 44 42 43 6f 6d 6d 61 6e 64 45  esign.DBCommandE
28e0: 64 69 74 6f 72 2c 20 4d 69 63 72 6f 73 6f 66 74  ditor, Microsoft
28f0: 2e 56 53 44 65 73 69 67 6e 65 72 2c 20 56 65 72  .VSDesigner, Ver
2900: 73 69 6f 6e 3d 38 2e 30 2e 30 2e 30 2c 20 43 75  sion=8.0.0.0, Cu
2910: 6c 74 75 72 65 3d 6e 65 75 74 72 61 6c 2c 20 50  lture=neutral, P
2920: 75 62 6c 69 63 4b 65 79 54 6f 6b 65 6e 3d 62 30  ublicKeyToken=b0
2930: 33 66 35 66 37 66 31 31 64 35 30 61 33 61 22 2c  3f5f7f11d50a3a",
2940: 20 22 53 79 73 74 65 6d 2e 44 72 61 77 69 6e 67   "System.Drawing
2950: 2e 44 65 73 69 67 6e 2e 55 49 54 79 70 65 45 64  .Design.UITypeEd
2960: 69 74 6f 72 2c 20 53 79 73 74 65 6d 2e 44 72 61  itor, System.Dra
2970: 77 69 6e 67 2c 20 56 65 72 73 69 6f 6e 3d 32 2e  wing, Version=2.
2980: 30 2e 30 2e 30 2c 20 43 75 6c 74 75 72 65 3d 6e  0.0.0, Culture=n
2990: 65 75 74 72 61 6c 2c 20 50 75 62 6c 69 63 4b 65  eutral, PublicKe
29a0: 79 54 6f 6b 65 6e 3d 62 30 33 66 35 66 37 66 31  yToken=b03f5f7f1
29b0: 31 64 35 30 61 33 61 22 29 5d 0d 0a 23 65 6e 64  1d50a3a")]..#end
29c0: 69 66 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 6e  if..    public n
29d0: 65 77 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64  ew SQLiteCommand
29e0: 20 49 6e 73 65 72 74 43 6f 6d 6d 61 6e 64 0d 0a   InsertCommand..
29f0: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 67 65 74      {..      get
2a00: 20 7b 20 43 68 65 63 6b 44 69 73 70 6f 73 65 64   { CheckDisposed
2a10: 28 29 3b 20 72 65 74 75 72 6e 20 28 53 51 4c 69  (); return (SQLi
2a20: 74 65 43 6f 6d 6d 61 6e 64 29 62 61 73 65 2e 49  teCommand)base.I
2a30: 6e 73 65 72 74 43 6f 6d 6d 61 6e 64 3b 20 7d 0d  nsertCommand; }.
2a40: 0a 20 20 20 20 20 20 73 65 74 20 7b 20 43 68 65  .      set { Che
2a50: 63 6b 44 69 73 70 6f 73 65 64 28 29 3b 20 62 61  ckDisposed(); ba
2a60: 73 65 2e 49 6e 73 65 72 74 43 6f 6d 6d 61 6e 64  se.InsertCommand
2a70: 20 3d 20 76 61 6c 75 65 3b 20 7d 0d 0a 20 20 20   = value; }..   
2a80: 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73   }....    /// <s
2a90: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f  ummary>..    ///
2aa0: 20 47 65 74 73 2f 73 65 74 73 20 74 68 65 20 75   Gets/sets the u
2ab0: 70 64 61 74 65 20 63 6f 6d 6d 61 6e 64 20 66 6f  pdate command fo
2ac0: 72 20 74 68 69 73 20 44 61 74 61 41 64 61 70 74  r this DataAdapt
2ad0: 65 72 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75  er..    /// </su
2ae0: 6d 6d 61 72 79 3e 0d 0a 23 69 66 20 21 50 4c 41  mmary>..#if !PLA
2af0: 54 46 4f 52 4d 5f 43 4f 4d 50 41 43 54 46 52 41  TFORM_COMPACTFRA
2b00: 4d 45 57 4f 52 4b 0d 0a 20 20 20 20 5b 44 65 66  MEWORK..    [Def
2b10: 61 75 6c 74 56 61 6c 75 65 28 28 73 74 72 69 6e  aultValue((strin
2b20: 67 29 6e 75 6c 6c 29 2c 20 45 64 69 74 6f 72 28  g)null), Editor(
2b30: 22 4d 69 63 72 6f 73 6f 66 74 2e 56 53 44 65 73  "Microsoft.VSDes
2b40: 69 67 6e 65 72 2e 44 61 74 61 2e 44 65 73 69 67  igner.Data.Desig
2b50: 6e 2e 44 42 43 6f 6d 6d 61 6e 64 45 64 69 74 6f  n.DBCommandEdito
2b60: 72 2c 20 4d 69 63 72 6f 73 6f 66 74 2e 56 53 44  r, Microsoft.VSD
2b70: 65 73 69 67 6e 65 72 2c 20 56 65 72 73 69 6f 6e  esigner, Version
2b80: 3d 38 2e 30 2e 30 2e 30 2c 20 43 75 6c 74 75 72  =8.0.0.0, Cultur
2b90: 65 3d 6e 65 75 74 72 61 6c 2c 20 50 75 62 6c 69  e=neutral, Publi
2ba0: 63 4b 65 79 54 6f 6b 65 6e 3d 62 30 33 66 35 66  cKeyToken=b03f5f
2bb0: 37 66 31 31 64 35 30 61 33 61 22 2c 20 22 53 79  7f11d50a3a", "Sy
2bc0: 73 74 65 6d 2e 44 72 61 77 69 6e 67 2e 44 65 73  stem.Drawing.Des
2bd0: 69 67 6e 2e 55 49 54 79 70 65 45 64 69 74 6f 72  ign.UITypeEditor
2be0: 2c 20 53 79 73 74 65 6d 2e 44 72 61 77 69 6e 67  , System.Drawing
2bf0: 2c 20 56 65 72 73 69 6f 6e 3d 32 2e 30 2e 30 2e  , Version=2.0.0.
2c00: 30 2c 20 43 75 6c 74 75 72 65 3d 6e 65 75 74 72  0, Culture=neutr
2c10: 61 6c 2c 20 50 75 62 6c 69 63 4b 65 79 54 6f 6b  al, PublicKeyTok
2c20: 65 6e 3d 62 30 33 66 35 66 37 66 31 31 64 35 30  en=b03f5f7f11d50
2c30: 61 33 61 22 29 5d 0d 0a 23 65 6e 64 69 66 0d 0a  a3a")]..#endif..
2c40: 20 20 20 20 70 75 62 6c 69 63 20 6e 65 77 20 53      public new S
2c50: 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 20 55 70 64  QLiteCommand Upd
2c60: 61 74 65 43 6f 6d 6d 61 6e 64 0d 0a 20 20 20 20  ateCommand..    
2c70: 7b 0d 0a 20 20 20 20 20 20 67 65 74 20 7b 20 43  {..      get { C
2c80: 68 65 63 6b 44 69 73 70 6f 73 65 64 28 29 3b 20  heckDisposed(); 
2c90: 72 65 74 75 72 6e 20 28 53 51 4c 69 74 65 43 6f  return (SQLiteCo
2ca0: 6d 6d 61 6e 64 29 62 61 73 65 2e 55 70 64 61 74  mmand)base.Updat
2cb0: 65 43 6f 6d 6d 61 6e 64 3b 20 7d 0d 0a 20 20 20  eCommand; }..   
2cc0: 20 20 20 73 65 74 20 7b 20 43 68 65 63 6b 44 69     set { CheckDi
2cd0: 73 70 6f 73 65 64 28 29 3b 20 62 61 73 65 2e 55  sposed(); base.U
2ce0: 70 64 61 74 65 43 6f 6d 6d 61 6e 64 20 3d 20 76  pdateCommand = v
2cf0: 61 6c 75 65 3b 20 7d 0d 0a 20 20 20 20 7d 0d 0a  alue; }..    }..
2d00: 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61  ..    /// <summa
2d10: 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 47 65 74  ry>..    /// Get
2d20: 73 2f 73 65 74 73 20 74 68 65 20 64 65 6c 65 74  s/sets the delet
2d30: 65 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 74 68  e command for th
2d40: 69 73 20 44 61 74 61 41 64 61 70 74 65 72 0d 0a  is DataAdapter..
2d50: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
2d60: 79 3e 0d 0a 23 69 66 20 21 50 4c 41 54 46 4f 52  y>..#if !PLATFOR
2d70: 4d 5f 43 4f 4d 50 41 43 54 46 52 41 4d 45 57 4f  M_COMPACTFRAMEWO
2d80: 52 4b 0d 0a 20 20 20 20 5b 44 65 66 61 75 6c 74  RK..    [Default
2d90: 56 61 6c 75 65 28 28 73 74 72 69 6e 67 29 6e 75  Value((string)nu
2da0: 6c 6c 29 2c 20 45 64 69 74 6f 72 28 22 4d 69 63  ll), Editor("Mic
2db0: 72 6f 73 6f 66 74 2e 56 53 44 65 73 69 67 6e 65  rosoft.VSDesigne
2dc0: 72 2e 44 61 74 61 2e 44 65 73 69 67 6e 2e 44 42  r.Data.Design.DB
2dd0: 43 6f 6d 6d 61 6e 64 45 64 69 74 6f 72 2c 20 4d  CommandEditor, M
2de0: 69 63 72 6f 73 6f 66 74 2e 56 53 44 65 73 69 67  icrosoft.VSDesig
2df0: 6e 65 72 2c 20 56 65 72 73 69 6f 6e 3d 38 2e 30  ner, Version=8.0
2e00: 2e 30 2e 30 2c 20 43 75 6c 74 75 72 65 3d 6e 65  .0.0, Culture=ne
2e10: 75 74 72 61 6c 2c 20 50 75 62 6c 69 63 4b 65 79  utral, PublicKey
2e20: 54 6f 6b 65 6e 3d 62 30 33 66 35 66 37 66 31 31  Token=b03f5f7f11
2e30: 64 35 30 61 33 61 22 2c 20 22 53 79 73 74 65 6d  d50a3a", "System
2e40: 2e 44 72 61 77 69 6e 67 2e 44 65 73 69 67 6e 2e  .Drawing.Design.
2e50: 55 49 54 79 70 65 45 64 69 74 6f 72 2c 20 53 79  UITypeEditor, Sy
2e60: 73 74 65 6d 2e 44 72 61 77 69 6e 67 2c 20 56 65  stem.Drawing, Ve
2e70: 72 73 69 6f 6e 3d 32 2e 30 2e 30 2e 30 2c 20 43  rsion=2.0.0.0, C
2e80: 75 6c 74 75 72 65 3d 6e 65 75 74 72 61 6c 2c 20  ulture=neutral, 
2e90: 50 75 62 6c 69 63 4b 65 79 54 6f 6b 65 6e 3d 62  PublicKeyToken=b
2ea0: 30 33 66 35 66 37 66 31 31 64 35 30 61 33 61 22  03f5f7f11d50a3a"
2eb0: 29 5d 0d 0a 23 65 6e 64 69 66 0d 0a 20 20 20 20  )]..#endif..    
2ec0: 70 75 62 6c 69 63 20 6e 65 77 20 53 51 4c 69 74  public new SQLit
2ed0: 65 43 6f 6d 6d 61 6e 64 20 44 65 6c 65 74 65 43  eCommand DeleteC
2ee0: 6f 6d 6d 61 6e 64 0d 0a 20 20 20 20 7b 0d 0a 20  ommand..    {.. 
2ef0: 20 20 20 20 20 67 65 74 20 7b 20 43 68 65 63 6b       get { Check
2f00: 44 69 73 70 6f 73 65 64 28 29 3b 20 72 65 74 75  Disposed(); retu
2f10: 72 6e 20 28 53 51 4c 69 74 65 43 6f 6d 6d 61 6e  rn (SQLiteComman
2f20: 64 29 62 61 73 65 2e 44 65 6c 65 74 65 43 6f 6d  d)base.DeleteCom
2f30: 6d 61 6e 64 3b 20 7d 0d 0a 20 20 20 20 20 20 73  mand; }..      s
2f40: 65 74 20 7b 20 43 68 65 63 6b 44 69 73 70 6f 73  et { CheckDispos
2f50: 65 64 28 29 3b 20 62 61 73 65 2e 44 65 6c 65 74  ed(); base.Delet
2f60: 65 43 6f 6d 6d 61 6e 64 20 3d 20 76 61 6c 75 65  eCommand = value
2f70: 3b 20 7d 0d 0a 20 20 20 20 7d 0d 0a 20 20 7d 0d  ; }..    }..  }.
2f80: 0a 7d 0d 0a                                      .}..