System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 5ae3457f2258bff97ba8c55c2d83751ccfe96777:


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 0a 20 2a 20 41 44 4f  *********. * ADO
0040: 2e 4e 45 54 20 32 2e 30 20 44 61 74 61 20 50 72  .NET 2.0 Data Pr
0050: 6f 76 69 64 65 72 20 66 6f 72 20 53 51 4c 69 74  ovider for SQLit
0060: 65 20 56 65 72 73 69 6f 6e 20 33 2e 58 0a 20 2a  e Version 3.X. *
0070: 20 57 72 69 74 74 65 6e 20 62 79 20 52 6f 62 65   Written by Robe
0080: 72 74 20 53 69 6d 70 73 6f 6e 20 28 72 6f 62 65  rt Simpson (robe
0090: 72 74 40 62 6c 61 63 6b 63 61 73 74 6c 65 73 6f  rt@blackcastleso
00a0: 66 74 2e 63 6f 6d 29 0a 20 2a 20 0a 20 2a 20 52  ft.com). * . * R
00b0: 65 6c 65 61 73 65 64 20 74 6f 20 74 68 65 20 70  eleased to the p
00c0: 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2c 20 75 73  ublic domain, us
00d0: 65 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69  e at your own ri
00e0: 73 6b 21 0a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  sk!. ***********
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 2f 0a 0a  *************/..
0120: 6e 61 6d 65 73 70 61 63 65 20 53 79 73 74 65 6d  namespace System
0130: 2e 44 61 74 61 2e 53 51 4c 69 74 65 0a 7b 0a 20  .Data.SQLite.{. 
0140: 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20   /// <summary>. 
0150: 20 2f 2f 2f 20 4d 65 74 61 44 61 74 61 43 6f 6c   /// MetaDataCol
0160: 6c 65 63 74 69 6f 6e 73 20 73 70 65 63 69 66 69  lections specifi
0170: 63 20 74 6f 20 53 51 4c 69 74 65 0a 20 20 2f 2f  c to SQLite.  //
0180: 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 70  / </summary>.  p
0190: 75 62 6c 69 63 20 73 74 61 74 69 63 20 63 6c 61  ublic static cla
01a0: 73 73 20 53 51 4c 69 74 65 4d 65 74 61 44 61 74  ss SQLiteMetaDat
01b0: 61 43 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 73  aCollectionNames
01c0: 0a 20 20 7b 0a 20 20 20 20 2f 2f 2f 20 3c 73 75  .  {.    /// <su
01d0: 6d 6d 61 72 79 3e 0a 20 20 20 20 2f 2f 2f 20 52  mmary>.    /// R
01e0: 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66  eturns a list of
01f0: 20 64 61 74 61 62 61 73 65 73 20 61 74 74 61 63   databases attac
0200: 68 65 64 20 74 6f 20 74 68 65 20 63 6f 6e 6e 65  hed to the conne
0210: 63 74 69 6f 6e 0a 20 20 20 20 2f 2f 2f 20 3c 2f  ction.    /// </
0220: 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 70 75 62  summary>.    pub
0230: 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f  lic static reado
0240: 6e 6c 79 20 73 74 72 69 6e 67 20 43 61 74 61 6c  nly string Catal
0250: 6f 67 73 20 3d 20 22 43 61 74 61 6c 6f 67 73 22  ogs = "Catalogs"
0260: 3b 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61  ;.    /// <summa
0270: 72 79 3e 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75  ry>.    /// Retu
0280: 72 6e 73 20 63 6f 6c 75 6d 6e 20 69 6e 66 6f 72  rns column infor
0290: 6d 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 73  mation for the s
02a0: 70 65 63 69 66 69 65 64 20 74 61 62 6c 65 0a 20  pecified table. 
02b0: 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79     /// </summary
02c0: 3e 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61  >.    public sta
02d0: 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 73 74 72  tic readonly str
02e0: 69 6e 67 20 43 6f 6c 75 6d 6e 73 20 3d 20 22 43  ing Columns = "C
02f0: 6f 6c 75 6d 6e 73 22 3b 0a 20 20 20 20 2f 2f 2f  olumns";.    ///
0300: 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 2f   <summary>.    /
0310: 2f 2f 20 52 65 74 75 72 6e 73 20 69 6e 64 65 78  // Returns index
0320: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72   information for
0330: 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 6c 79 2d   the optionally-
0340: 73 70 65 63 69 66 69 65 64 20 74 61 62 6c 65 0a  specified table.
0350: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
0360: 79 3e 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74  y>.    public st
0370: 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 73 74  atic readonly st
0380: 72 69 6e 67 20 49 6e 64 65 78 65 73 20 3d 20 22  ring Indexes = "
0390: 49 6e 64 65 78 65 73 22 3b 0a 20 20 20 20 2f 2f  Indexes";.    //
03a0: 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20  / <summary>.    
03b0: 2f 2f 2f 20 52 65 74 75 72 6e 73 20 62 61 73 65  /// Returns base
03c0: 20 63 6f 6c 75 6d 6e 73 20 66 6f 72 20 74 68 65   columns for the
03d0: 20 67 69 76 65 6e 20 69 6e 64 65 78 0a 20 20 20   given index.   
03e0: 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a   /// </summary>.
03f0: 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69      public stati
0400: 63 20 72 65 61 64 6f 6e 6c 79 20 73 74 72 69 6e  c readonly strin
0410: 67 20 49 6e 64 65 78 43 6f 6c 75 6d 6e 73 20 3d  g IndexColumns =
0420: 20 22 49 6e 64 65 78 43 6f 6c 75 6d 6e 73 22 3b   "IndexColumns";
0430: 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72  .    /// <summar
0440: 79 3e 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72  y>.    /// Retur
0450: 6e 73 20 74 68 65 20 74 61 62 6c 65 73 20 69 6e  ns the tables in
0460: 20 74 68 65 20 67 69 76 65 6e 20 63 61 74 61 6c   the given catal
0470: 6f 67 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  og.    /// </sum
0480: 6d 61 72 79 3e 0a 20 20 20 20 70 75 62 6c 69 63  mary>.    public
0490: 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79   static readonly
04a0: 20 73 74 72 69 6e 67 20 54 61 62 6c 65 73 20 3d   string Tables =
04b0: 20 22 54 61 62 6c 65 73 22 3b 0a 20 20 20 20 2f   "Tables";.    /
04c0: 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20  // <summary>.   
04d0: 20 2f 2f 2f 20 52 65 74 75 72 6e 73 20 75 73 65   /// Returns use
04e0: 72 2d 64 65 66 69 6e 65 64 20 76 69 65 77 73 20  r-defined views 
04f0: 69 6e 20 74 68 65 20 67 69 76 65 6e 20 63 61 74  in the given cat
0500: 61 6c 6f 67 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73  alog.    /// </s
0510: 75 6d 6d 61 72 79 3e 0a 20 20 20 20 70 75 62 6c  ummary>.    publ
0520: 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e  ic static readon
0530: 6c 79 20 73 74 72 69 6e 67 20 56 69 65 77 73 20  ly string Views 
0540: 3d 20 22 56 69 65 77 73 22 3b 0a 20 20 20 20 2f  = "Views";.    /
0550: 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20  // <summary>.   
0560: 20 2f 2f 2f 20 52 65 74 75 72 6e 73 20 75 6e 64   /// Returns und
0570: 65 72 6c 79 69 6e 67 20 63 6f 6c 75 6d 6e 20 69  erlying column i
0580: 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68  nformation on th
0590: 65 20 67 69 76 65 6e 20 76 69 65 77 0a 20 20 20  e given view.   
05a0: 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a   /// </summary>.
05b0: 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69      public stati
05c0: 63 20 72 65 61 64 6f 6e 6c 79 20 73 74 72 69 6e  c readonly strin
05d0: 67 20 56 69 65 77 43 6f 6c 75 6d 6e 73 20 3d 20  g ViewColumns = 
05e0: 22 56 69 65 77 43 6f 6c 75 6d 6e 73 22 3b 0a 20  "ViewColumns";. 
05f0: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
0600: 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 73  .    /// Returns
0610: 20 66 6f 72 65 69 67 6e 20 6b 65 79 20 69 6e 66   foreign key inf
0620: 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 74 68 65  ormation for the
0630: 20 67 69 76 65 6e 20 63 61 74 61 6c 6f 67 0a 20   given catalog. 
0640: 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79     /// </summary
0650: 3e 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61  >.    public sta
0660: 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 73 74 72  tic readonly str
0670: 69 6e 67 20 46 6f 72 65 69 67 6e 4b 65 79 73 20  ing ForeignKeys 
0680: 3d 20 22 46 6f 72 65 69 67 6e 4b 65 79 73 22 3b  = "ForeignKeys";
0690: 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72  .    /// <summar
06a0: 79 3e 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72  y>.    /// Retur
06b0: 6e 73 20 74 68 65 20 74 72 69 67 67 65 72 73 20  ns the triggers 
06c0: 6f 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 0a  on the database.
06d0: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
06e0: 79 3e 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74  y>.    public st
06f0: 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 73 74  atic readonly st
0700: 72 69 6e 67 20 54 72 69 67 67 65 72 73 20 3d 20  ring Triggers = 
0710: 22 54 72 69 67 67 65 72 73 22 3b 0a 20 20 7d 0a  "Triggers";.  }.
0720: 7d 0a                                            }.