System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 9c2977295f173a4015ec7840c653899fe5dfd19d:


0000: 3c 68 74 6d 6c 20 64 69 72 3d 22 4c 54 52 22 20  <html dir="LTR" 
0010: 78 6d 6c 6e 73 3d 22 68 74 74 70 3a 2f 2f 77 77  xmlns="http://ww
0020: 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 78 68  w.w3.org/1999/xh
0030: 74 6d 6c 22 20 78 6d 6c 6e 73 3a 78 6c 69 6e 6b  tml" xmlns:xlink
0040: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 77 33 2e  ="http://www.w3.
0050: 6f 72 67 2f 31 39 39 39 2f 78 6c 69 6e 6b 22 20  org/1999/xlink" 
0060: 78 6d 6c 6e 73 3a 4d 53 48 65 6c 70 3d 22 68 74  xmlns:MSHelp="ht
0070: 74 70 3a 2f 2f 6d 73 64 6e 2e 6d 69 63 72 6f 73  tp://msdn.micros
0080: 6f 66 74 2e 63 6f 6d 2f 6d 73 68 65 6c 70 22 20  oft.com/mshelp" 
0090: 78 6d 6c 6e 73 3a 74 6f 6f 6c 3d 22 68 74 74 70  xmlns:tool="http
00a0: 3a 2f 2f 77 77 77 2e 6d 69 63 72 6f 73 6f 66 74  ://www.microsoft
00b0: 2e 63 6f 6d 2f 74 6f 6f 6c 74 69 70 22 20 78 6d  .com/tooltip" xm
00c0: 6c 6e 73 3a 6e 64 6f 63 3d 22 75 72 6e 3a 6e 64  lns:ndoc="urn:nd
00d0: 6f 63 2d 70 72 65 70 72 6f 63 65 73 73 22 3e 0a  oc-preprocess">.
00e0: 20 20 3c 68 65 61 64 3e 0a 20 20 20 20 3c 6d 65    <head>.    <me
00f0: 74 61 20 68 74 74 70 2d 65 71 75 69 76 3d 22 43  ta http-equiv="C
0100: 6f 6e 74 65 6e 74 2d 54 79 70 65 22 20 63 6f 6e  ontent-Type" con
0110: 74 65 6e 74 3d 22 74 65 78 74 2f 68 74 6d 6c 3b  tent="text/html;
0120: 20 63 68 61 72 73 65 74 3d 57 69 6e 64 6f 77 73   charset=Windows
0130: 2d 31 32 35 32 22 20 2f 3e 0a 20 20 20 20 3c 74  -1252" />.    <t
0140: 69 74 6c 65 3e 44 62 50 72 6f 76 69 64 65 72 46  itle>DbProviderF
0150: 61 63 74 6f 72 79 20 53 75 70 70 6f 72 74 3c 2f  actory Support</
0160: 74 69 74 6c 65 3e 0a 20 20 20 20 3c 6c 69 6e 6b  title>.    <link
0170: 20 72 65 6c 3d 22 73 74 79 6c 65 73 68 65 65 74   rel="stylesheet
0180: 22 20 74 79 70 65 3d 22 74 65 78 74 2f 63 73 73  " type="text/css
0190: 22 20 68 72 65 66 3d 22 6e 64 6f 63 2e 63 73 73  " href="ndoc.css
01a0: 22 3e 20 3c 2f 6c 69 6e 6b 3e 0a 20 20 20 20 3c  "> </link>.    <
01b0: 6c 69 6e 6b 20 72 65 6c 3d 22 73 74 79 6c 65 73  link rel="styles
01c0: 68 65 65 74 22 20 74 79 70 65 3d 22 74 65 78 74  heet" type="text
01d0: 2f 63 73 73 22 20 68 72 65 66 3d 22 75 73 65 72  /css" href="user
01e0: 2e 63 73 73 22 3e 20 3c 2f 6c 69 6e 6b 3e 0a 20  .css"> </link>. 
01f0: 20 20 20 3c 73 63 72 69 70 74 20 74 79 70 65 3d     <script type=
0200: 22 74 65 78 74 2f 6a 61 76 61 73 63 72 69 70 74  "text/javascript
0210: 22 20 73 72 63 3d 22 6e 64 6f 63 2e 6a 73 22 3e  " src="ndoc.js">
0220: 20 3c 2f 73 63 72 69 70 74 3e 0a 20 20 3c 2f 68   </script>.  </h
0230: 65 61 64 3e 0a 20 20 3c 62 6f 64 79 20 73 74 79  ead>.  <body sty
0240: 6c 65 3d 22 64 69 73 70 6c 61 79 3a 20 6e 6f 6e  le="display: non
0250: 65 3b 22 3e 0a 20 20 20 20 3c 69 6e 70 75 74 20  e;">.    <input 
0260: 74 79 70 65 3d 22 68 69 64 64 65 6e 22 20 69 64  type="hidden" id
0270: 3d 22 75 73 65 72 44 61 74 61 43 61 63 68 65 22  ="userDataCache"
0280: 20 63 6c 61 73 73 3d 22 75 73 65 72 44 61 74 61   class="userData
0290: 53 74 79 6c 65 22 20 2f 3e 0a 20 20 20 20 3c 69  Style" />.    <i
02a0: 6e 70 75 74 20 74 79 70 65 3d 22 68 69 64 64 65  nput type="hidde
02b0: 6e 22 20 69 64 3d 22 68 69 64 64 65 6e 53 63 72  n" id="hiddenScr
02c0: 6f 6c 6c 4f 66 66 73 65 74 22 20 2f 3e 0a 20 20  ollOffset" />.  
02d0: 20 20 3c 69 6d 67 20 69 64 3d 22 64 72 6f 70 44    <img id="dropD
02e0: 6f 77 6e 49 6d 61 67 65 22 20 73 74 79 6c 65 3d  ownImage" style=
02f0: 22 64 69 73 70 6c 61 79 3a 6e 6f 6e 65 3b 20 68  "display:none; h
0300: 65 69 67 68 74 3a 30 3b 20 77 69 64 74 68 3a 30  eight:0; width:0
0310: 3b 22 20 73 72 63 3d 22 64 72 70 64 6f 77 6e 2e  ;" src="drpdown.
0320: 67 69 66 22 20 2f 3e 0a 20 20 20 20 3c 69 6d 67  gif" />.    <img
0330: 20 69 64 3d 22 64 72 6f 70 44 6f 77 6e 48 6f 76   id="dropDownHov
0340: 65 72 49 6d 61 67 65 22 20 73 74 79 6c 65 3d 22  erImage" style="
0350: 64 69 73 70 6c 61 79 3a 6e 6f 6e 65 3b 20 68 65  display:none; he
0360: 69 67 68 74 3a 30 3b 20 77 69 64 74 68 3a 30 3b  ight:0; width:0;
0370: 22 20 73 72 63 3d 22 64 72 70 64 6f 77 6e 5f 6f  " src="drpdown_o
0380: 72 61 6e 67 65 2e 67 69 66 22 20 2f 3e 0a 20 20  range.gif" />.  
0390: 20 20 3c 69 6d 67 20 69 64 3d 22 63 6f 6c 6c 61    <img id="colla
03a0: 70 73 65 49 6d 61 67 65 22 20 73 74 79 6c 65 3d  pseImage" style=
03b0: 22 64 69 73 70 6c 61 79 3a 6e 6f 6e 65 3b 20 68  "display:none; h
03c0: 65 69 67 68 74 3a 30 3b 20 77 69 64 74 68 3a 30  eight:0; width:0
03d0: 3b 22 20 73 72 63 3d 22 63 6f 6c 6c 61 70 73 65  ;" src="collapse
03e0: 2e 67 69 66 22 20 2f 3e 0a 20 20 20 20 3c 69 6d  .gif" />.    <im
03f0: 67 20 69 64 3d 22 65 78 70 61 6e 64 49 6d 61 67  g id="expandImag
0400: 65 22 20 73 74 79 6c 65 3d 22 64 69 73 70 6c 61  e" style="displa
0410: 79 3a 6e 6f 6e 65 3b 20 68 65 69 67 68 74 3a 30  y:none; height:0
0420: 3b 20 77 69 64 74 68 3a 30 3b 22 20 73 72 63 3d  ; width:0;" src=
0430: 22 65 78 70 2e 67 69 66 22 20 2f 3e 0a 20 20 20  "exp.gif" />.   
0440: 20 3c 69 6d 67 20 69 64 3d 22 63 6f 6c 6c 61 70   <img id="collap
0450: 73 65 41 6c 6c 49 6d 61 67 65 22 20 73 74 79 6c  seAllImage" styl
0460: 65 3d 22 64 69 73 70 6c 61 79 3a 6e 6f 6e 65 3b  e="display:none;
0470: 20 68 65 69 67 68 74 3a 30 3b 20 77 69 64 74 68   height:0; width
0480: 3a 30 3b 22 20 73 72 63 3d 22 63 6f 6c 6c 61 6c  :0;" src="collal
0490: 6c 2e 67 69 66 22 20 2f 3e 0a 20 20 20 20 3c 69  l.gif" />.    <i
04a0: 6d 67 20 69 64 3d 22 65 78 70 61 6e 64 41 6c 6c  mg id="expandAll
04b0: 49 6d 61 67 65 22 20 73 74 79 6c 65 3d 22 64 69  Image" style="di
04c0: 73 70 6c 61 79 3a 6e 6f 6e 65 3b 20 68 65 69 67  splay:none; heig
04d0: 68 74 3a 30 3b 20 77 69 64 74 68 3a 30 3b 22 20  ht:0; width:0;" 
04e0: 73 72 63 3d 22 65 78 70 61 6c 6c 2e 67 69 66 22  src="expall.gif"
04f0: 20 2f 3e 0a 20 20 20 20 3c 69 6d 67 20 69 64 3d   />.    <img id=
0500: 22 63 6f 70 79 49 6d 61 67 65 22 20 73 74 79 6c  "copyImage" styl
0510: 65 3d 22 64 69 73 70 6c 61 79 3a 6e 6f 6e 65 3b  e="display:none;
0520: 20 68 65 69 67 68 74 3a 30 3b 20 77 69 64 74 68   height:0; width
0530: 3a 30 3b 22 20 73 72 63 3d 22 63 6f 70 79 63 6f  :0;" src="copyco
0540: 64 65 2e 67 69 66 22 20 2f 3e 0a 20 20 20 20 3c  de.gif" />.    <
0550: 69 6d 67 20 69 64 3d 22 63 6f 70 79 48 6f 76 65  img id="copyHove
0560: 72 49 6d 61 67 65 22 20 73 74 79 6c 65 3d 22 64  rImage" style="d
0570: 69 73 70 6c 61 79 3a 6e 6f 6e 65 3b 20 68 65 69  isplay:none; hei
0580: 67 68 74 3a 30 3b 20 77 69 64 74 68 3a 30 3b 22  ght:0; width:0;"
0590: 20 73 72 63 3d 22 63 6f 70 79 63 6f 64 65 48 69   src="copycodeHi
05a0: 67 68 6c 69 67 68 74 2e 67 69 66 22 20 2f 3e 0a  ghlight.gif" />.
05b0: 20 20 20 20 3c 64 69 76 20 69 64 3d 22 68 65 61      <div id="hea
05c0: 64 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62  der">.      <tab
05d0: 6c 65 20 77 69 64 74 68 3d 22 31 30 30 25 22 20  le width="100%" 
05e0: 69 64 3d 22 74 6f 70 54 61 62 6c 65 22 3e 0a 20  id="topTable">. 
05f0: 20 20 20 20 20 20 20 3c 74 72 20 69 64 3d 22 68         <tr id="h
0600: 65 61 64 65 72 54 61 62 6c 65 52 6f 77 31 22 3e  eaderTableRow1">
0610: 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 20 61  .          <td a
0620: 6c 69 67 6e 3d 22 6c 65 66 74 22 3e 0a 20 20 20  lign="left">.   
0630: 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 69           <span i
0640: 64 3d 22 72 75 6e 6e 69 6e 67 48 65 61 64 65 72  d="runningHeader
0650: 54 65 78 74 22 3e 44 62 50 72 6f 76 69 64 65 72  Text">DbProvider
0660: 46 61 63 74 6f 72 79 20 53 75 70 70 6f 72 74 3c  Factory Support<
0670: 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20  /span>.         
0680: 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c   </td>.        <
0690: 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72  /tr>.        <tr
06a0: 20 69 64 3d 22 68 65 61 64 65 72 54 61 62 6c 65   id="headerTable
06b0: 52 6f 77 32 22 3e 0a 20 20 20 20 20 20 20 20 20  Row2">.         
06c0: 20 3c 74 64 20 61 6c 69 67 6e 3d 22 6c 65 66 74   <td align="left
06d0: 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c  ">.            <
06e0: 73 70 61 6e 20 69 64 3d 22 6e 73 72 54 69 74 6c  span id="nsrTitl
06f0: 65 22 3e 53 51 4c 69 74 65 2e 4e 45 54 20 43 6c  e">SQLite.NET Cl
0700: 61 73 73 20 4c 69 62 72 61 72 79 20 44 6f 63 75  ass Library Docu
0710: 6d 65 6e 74 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e  mentation</span>
0720: 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e  .          </td>
0730: 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20  .        </tr>. 
0740: 20 20 20 20 20 20 20 3c 74 72 20 69 64 3d 22 68         <tr id="h
0750: 65 61 64 65 72 54 61 62 6c 65 52 6f 77 33 22 20  eaderTableRow3" 
0760: 73 74 79 6c 65 3d 22 64 69 73 70 6c 61 79 3a 6e  style="display:n
0770: 6f 6e 65 22 3e 0a 20 20 20 20 20 20 20 20 20 20  one">.          
0780: 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20  <td>.           
0790: 20 3c 61 20 69 64 3d 22 73 65 65 41 6c 73 6f 53   <a id="seeAlsoS
07a0: 65 63 74 69 6f 6e 4c 69 6e 6b 22 20 68 72 65 66  ectionLink" href
07b0: 3d 22 23 73 65 65 41 6c 73 6f 54 6f 67 67 6c 65  ="#seeAlsoToggle
07c0: 22 20 6f 6e 63 6c 69 63 6b 3d 22 4f 70 65 6e 53  " onclick="OpenS
07d0: 65 63 74 69 6f 6e 28 73 65 65 41 6c 73 6f 54 6f  ection(seeAlsoTo
07e0: 67 67 6c 65 29 22 3e 53 65 65 20 41 6c 73 6f 3c  ggle)">See Also<
07f0: 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20  /a>.            
0800: 3c 61 20 69 64 3d 22 65 78 61 6d 70 6c 65 53 65  <a id="exampleSe
0810: 63 74 69 6f 6e 4c 69 6e 6b 22 20 68 72 65 66 3d  ctionLink" href=
0820: 22 23 63 6f 64 65 45 78 61 6d 70 6c 65 54 6f 67  "#codeExampleTog
0830: 67 6c 65 22 20 6f 6e 63 6c 69 63 6b 3d 22 4f 70  gle" onclick="Op
0840: 65 6e 53 65 63 74 69 6f 6e 28 63 6f 64 65 45 78  enSection(codeEx
0850: 61 6d 70 6c 65 54 6f 67 67 6c 65 29 22 3e 45 78  ampleToggle)">Ex
0860: 61 6d 70 6c 65 3c 2f 61 3e 0a 20 20 20 20 20 20  ample</a>.      
0870: 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20      </td>.      
0880: 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 3c 2f 74    </tr>.     </t
0890: 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 74 61 62  able>.      <tab
08a0: 6c 65 20 77 69 64 74 68 3d 22 31 30 30 25 22 20  le width="100%" 
08b0: 69 64 3d 22 62 6f 74 74 6f 6d 54 61 62 6c 65 22  id="bottomTable"
08c0: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 30 22   cellspacing="0"
08d0: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 30 22   cellpadding="0"
08e0: 20 73 74 79 6c 65 3d 22 64 69 73 70 6c 61 79 3a   style="display:
08f0: 6e 6f 6e 65 22 3e 0a 20 20 20 20 20 20 20 20 3c  none">.        <
0900: 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74  tr>.          <t
0910: 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c  d>.            <
0920: 73 70 61 6e 20 6f 6e 63 6c 69 63 6b 3d 22 45 78  span onclick="Ex
0930: 70 61 6e 64 43 6f 6c 6c 61 70 73 65 41 6c 6c 28  pandCollapseAll(
0940: 74 6f 67 67 6c 65 41 6c 6c 49 6d 61 67 65 29 22  toggleAllImage)"
0950: 20 73 74 79 6c 65 3d 22 63 75 72 73 6f 72 3a 64   style="cursor:d
0960: 65 66 61 75 6c 74 3b 22 20 6f 6e 6b 65 79 70 72  efault;" onkeypr
0970: 65 73 73 3d 22 45 78 70 61 6e 64 43 6f 6c 6c 61  ess="ExpandColla
0980: 70 73 65 41 6c 6c 5f 43 68 65 63 6b 4b 65 79 28  pseAll_CheckKey(
0990: 74 6f 67 67 6c 65 41 6c 6c 49 6d 61 67 65 29 22  toggleAllImage)"
09a0: 20 74 61 62 69 6e 64 65 78 3d 22 30 22 3e 0a 20   tabindex="0">. 
09b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 69 6d               <im
09c0: 67 20 49 44 3d 22 74 6f 67 67 6c 65 41 6c 6c 49  g ID="toggleAllI
09d0: 6d 61 67 65 22 20 63 6c 61 73 73 3d 22 74 6f 67  mage" class="tog
09e0: 67 6c 65 41 6c 6c 22 20 73 72 63 3d 22 63 6f 6c  gleAll" src="col
09f0: 6c 61 6c 6c 2e 67 69 66 22 20 2f 3e 0a 20 20 20  lall.gif" />.   
0a00: 20 20 20 20 20 20 20 20 20 20 20 3c 6c 61 62 65             <labe
0a10: 6c 20 69 64 3d 22 63 6f 6c 6c 61 70 73 65 41 6c  l id="collapseAl
0a20: 6c 4c 61 62 65 6c 22 20 66 6f 72 3d 22 74 6f 67  lLabel" for="tog
0a30: 67 6c 65 41 6c 6c 49 6d 61 67 65 22 20 73 74 79  gleAllImage" sty
0a40: 6c 65 3d 22 64 69 73 70 6c 61 79 3a 20 6e 6f 6e  le="display: non
0a50: 65 3b 22 3e 0a 09 09 09 09 09 09 09 43 6f 6c 6c  e;">........Coll
0a60: 61 70 73 65 20 41 6c 6c 0a 09 09 09 09 09 09 3c  apse All.......<
0a70: 2f 6c 61 62 65 6c 3e 0a 20 20 20 20 20 20 20 20  /label>.        
0a80: 20 20 20 20 20 20 3c 6c 61 62 65 6c 20 69 64 3d        <label id=
0a90: 22 65 78 70 61 6e 64 41 6c 6c 4c 61 62 65 6c 22  "expandAllLabel"
0aa0: 20 66 6f 72 3d 22 74 6f 67 67 6c 65 41 6c 6c 49   for="toggleAllI
0ab0: 6d 61 67 65 22 20 73 74 79 6c 65 3d 22 64 69 73  mage" style="dis
0ac0: 70 6c 61 79 3a 20 6e 6f 6e 65 3b 22 3e 0a 09 09  play: none;">...
0ad0: 09 09 09 09 09 45 78 70 61 6e 64 20 41 6c 6c 0a  .....Expand All.
0ae0: 09 09 09 09 09 09 3c 2f 6c 61 62 65 6c 3e 0a 20  ......</label>. 
0af0: 20 20 20 20 20 20 20 20 20 20 20 3c 2f 73 70 61             </spa
0b00: 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74  n>.          </t
0b10: 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e  d>.        </tr>
0b20: 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a  .      </table>.
0b30: 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 3c      </div>.    <
0b40: 64 69 76 20 69 64 3d 22 6d 61 69 6e 53 65 63 74  div id="mainSect
0b50: 69 6f 6e 22 3e 0a 20 20 20 20 3c 64 69 76 20 69  ion">.    <div i
0b60: 64 3d 22 6d 61 69 6e 42 6f 64 79 22 3e 0a 20 20  d="mainBody">.  
0b70: 20 20 20 20 3c 68 31 20 63 6c 61 73 73 3d 22 68      <h1 class="h
0b80: 65 61 64 69 6e 67 22 3e 44 62 50 72 6f 76 69 64  eading">DbProvid
0b90: 65 72 46 61 63 74 6f 72 69 65 73 20 61 6e 64 20  erFactories and 
0ba0: 59 6f 75 3c 2f 68 31 3e 0a 20 20 20 20 20 20 3c  You</h1>.      <
0bb0: 70 3e 4f 6e 65 20 6f 66 20 74 68 65 20 67 72 65  p>One of the gre
0bc0: 61 74 20 6e 65 77 20 66 65 61 74 75 72 65 73 20  at new features 
0bd0: 6f 66 20 41 44 4f 2e 4e 45 54 20 32 2e 30 20 69  of ADO.NET 2.0 i
0be0: 73 20 74 68 65 20 75 73 65 20 6f 66 20 72 65 66  s the use of ref
0bf0: 6c 65 63 74 69 6f 6e 20 61 73 20 61 20 0a 20 20  lection as a .  
0c00: 20 20 20 20 20 20 6d 65 61 6e 73 20 6f 66 20 69        means of i
0c10: 6e 73 74 61 6e 74 69 61 74 69 6e 67 20 64 61 74  nstantiating dat
0c20: 61 62 61 73 65 20 70 72 6f 76 69 64 65 72 73 20  abase providers 
0c30: 70 72 6f 67 72 61 6d 6d 61 74 69 63 61 6c 6c 79  programmatically
0c40: 2e 20 54 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f  . The informatio
0c50: 6e 20 0a 20 20 20 20 20 20 20 20 2e 4e 45 54 20  n .        .NET 
0c60: 75 73 65 73 20 74 6f 20 65 6e 75 6d 65 72 61 74  uses to enumerat
0c70: 65 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20  e the available 
0c80: 64 61 74 61 20 70 72 6f 76 69 64 65 72 73 20 69  data providers i
0c90: 6e 20 74 68 65 20 73 79 73 74 65 6d 20 69 73 20  n the system is 
0ca0: 72 65 6c 61 74 69 76 65 6c 79 20 0a 20 20 20 20  relatively .    
0cb0: 20 20 20 20 73 69 6d 70 6c 65 2e 20 49 74 20 6d      simple. It m
0cc0: 65 72 65 6c 79 20 6c 6f 6f 6b 73 20 69 6e 20 74  erely looks in t
0cd0: 68 65 20 6d 61 63 68 69 6e 65 2e 63 6f 6e 66 69  he machine.confi
0ce0: 67 20 61 6e 64 20 69 6e 20 79 6f 75 72 20 6f 77  g and in your ow
0cf0: 6e 20 61 70 70 2e 63 6f 6e 66 69 67 20 66 69 6c  n app.config fil
0d00: 65 20 66 6f 72 20 73 6f 6d 65 20 58 4d 4c 20 64  e for some XML d
0d10: 61 74 61 20 74 6f 20 74 65 6c 6c 20 69 74 20 77  ata to tell it w
0d20: 68 61 74 20 70 72 6f 76 69 64 65 72 73 20 61 72  hat providers ar
0d30: 65 20 0a 20 20 20 20 20 20 20 20 69 6e 73 74 61  e .        insta
0d40: 6c 6c 65 64 20 61 6e 64 20 77 68 61 74 20 61 73  lled and what as
0d50: 73 65 6d 62 6c 69 65 73 20 74 68 6f 73 65 20 70  semblies those p
0d60: 72 6f 76 69 64 65 72 73 20 61 72 65 20 69 6e 2e  roviders are in.
0d70: 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20  .      </p>.    
0d80: 20 20 3c 68 34 3e 0a 20 20 20 20 20 20 20 20 53    <h4>.        S
0d90: 63 65 6e 61 72 69 6f 20 31 3a 26 6e 62 73 70 3b  cenario 1:&nbsp;
0da0: 20 56 65 72 73 69 6f 6e 20 49 6e 64 65 70 65 6e   Version Indepen
0db0: 64 65 6e 74 20 28 64 6f 65 73 20 6e 6f 74 20 75  dent (does not u
0dc0: 73 65 20 74 68 65 20 47 6c 6f 62 61 6c 20 41 73  se the Global As
0dd0: 73 65 6d 62 6c 79 20 43 61 63 68 65 29 3c 2f 68  sembly Cache)</h
0de0: 34 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20  4>.      <p>.   
0df0: 20 20 20 20 20 54 68 69 73 20 6d 65 74 68 6f 64       This method
0e00: 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 64   allows you to d
0e10: 72 6f 70 20 61 6e 79 20 6e 65 77 20 76 65 72 73  rop any new vers
0e20: 69 6f 6e 20 6f 66 20 74 68 65 20 53 79 73 74 65  ion of the Syste
0e30: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 44 4c  m.Data.SQLite.DL
0e40: 4c 20 69 6e 74 6f 0a 20 20 20 20 20 20 20 20 79  L into.        y
0e50: 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 27  our application'
0e60: 73 20 66 6f 6c 64 65 72 20 61 6e 64 20 75 73 65  s folder and use
0e70: 20 69 74 20 77 69 74 68 6f 75 74 20 61 6e 79 20   it without any 
0e80: 63 6f 64 65 20 6d 6f 64 69 66 69 63 61 74 69 6f  code modificatio
0e90: 6e 73 20 6f 72 20 72 65 63 6f 6d 70 69 6c 69 6e  ns or recompilin
0ea0: 67 2e 26 6e 62 73 70 3b 0a 20 20 20 20 20 20 20  g.&nbsp;.       
0eb0: 20 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69   Add the followi
0ec0: 6e 67 20 63 6f 64 65 20 74 6f 20 79 6f 75 72 20  ng code to your 
0ed0: 61 70 70 2e 63 6f 6e 66 69 67 20 66 69 6c 65 3a  app.config file:
0ee0: 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 69 76 20  </p>.      <div 
0ef0: 63 6c 61 73 73 3d 22 73 79 6e 74 61 78 22 3e 0a  class="syntax">.
0f00: 20 20 20 20 20 20 20 20 3c 50 52 45 3e 26 6c 74          <PRE>&lt
0f10: 3b 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 26 67  ;configuration&g
0f20: 74 3b 0a 20 20 26 6c 74 3b 73 79 73 74 65 6d 2e  t;.  &lt;system.
0f30: 64 61 74 61 26 67 74 3b 0a 20 20 20 20 26 6c 74  data&gt;.    &lt
0f40: 3b 44 62 50 72 6f 76 69 64 65 72 46 61 63 74 6f  ;DbProviderFacto
0f50: 72 69 65 73 26 67 74 3b 0a 20 20 20 20 20 20 26  ries&gt;.      &
0f60: 6c 74 3b 72 65 6d 6f 76 65 20 69 6e 76 61 72 69  lt;remove invari
0f70: 61 6e 74 3d 22 53 79 73 74 65 6d 2e 44 61 74 61  ant="System.Data
0f80: 2e 53 51 4c 69 74 65 22 2f 26 67 74 3b 0a 20 20  .SQLite"/&gt;.  
0f90: 20 20 20 20 26 6c 74 3b 61 64 64 20 6e 61 6d 65      &lt;add name
0fa0: 3d 22 53 51 4c 69 74 65 20 44 61 74 61 20 50 72  ="SQLite Data Pr
0fb0: 6f 76 69 64 65 72 22 20 69 6e 76 61 72 69 61 6e  ovider" invarian
0fc0: 74 3d 22 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  t="System.Data.S
0fd0: 51 4c 69 74 65 22 0a 20 20 20 20 20 20 20 20 20  QLite".         
0fe0: 20 20 64 65 73 63 72 69 70 74 69 6f 6e 3d 22 2e    description=".
0ff0: 4e 65 74 20 46 72 61 6d 65 77 6f 72 6b 20 44 61  Net Framework Da
1000: 74 61 20 50 72 6f 76 69 64 65 72 20 66 6f 72 20  ta Provider for 
1010: 53 51 4c 69 74 65 22 3c 62 72 20 2f 3e 20 20 20  SQLite"<br />   
1020: 20 20 20 20 20 20 20 20 74 79 70 65 3d 22 53 79          type="Sy
1030: 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65  stem.Data.SQLite
1040: 2e 53 51 4c 69 74 65 46 61 63 74 6f 72 79 2c 20  .SQLiteFactory, 
1050: 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69  System.Data.SQLi
1060: 74 65 22 20 2f 26 67 74 3b 0a 20 20 20 20 26 6c  te" /&gt;.    &l
1070: 74 3b 2f 44 62 50 72 6f 76 69 64 65 72 46 61 63  t;/DbProviderFac
1080: 74 6f 72 69 65 73 26 67 74 3b 0a 20 20 26 6c 74  tories&gt;.  &lt
1090: 3b 2f 73 79 73 74 65 6d 2e 64 61 74 61 26 67 74  ;/system.data&gt
10a0: 3b 0a 26 6c 74 3b 2f 63 6f 6e 66 69 67 75 72 61  ;.&lt;/configura
10b0: 74 69 6f 6e 26 67 74 3b 0a 3c 2f 50 52 45 3e 0a  tion&gt;.</PRE>.
10c0: 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20        </div>.   
10d0: 20 20 20 3c 68 34 3e 0a 20 20 20 20 20 20 20 20     <h4>.        
10e0: 53 63 65 6e 61 72 69 6f 20 32 3a 26 6e 62 73 70  Scenario 2:&nbsp
10f0: 3b 20 56 65 72 73 69 6f 6e 20 44 65 70 65 6e 64  ; Version Depend
1100: 65 6e 74 2c 20 75 73 69 6e 67 20 65 69 74 68 65  ent, using eithe
1110: 72 20 74 68 65 20 44 4c 4c 20 6c 6f 63 61 74 65  r the DLL locate
1120: 64 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 6f  d in the same fo
1130: 6c 64 65 72 0a 20 20 20 20 20 20 20 20 61 73 20  lder.        as 
1140: 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20  the application 
1150: 6f 72 20 74 68 65 20 47 6c 6f 62 61 6c 20 41 73  or the Global As
1160: 73 65 6d 62 6c 79 20 43 61 63 68 65 3c 2f 68 34  sembly Cache</h4
1170: 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20  >.      <p>.    
1180: 20 20 20 20 54 68 69 73 20 6d 65 74 68 6f 64 20      This method 
1190: 65 78 70 61 6e 64 73 20 6f 6e 20 74 68 65 20 61  expands on the a
11a0: 62 6f 76 65 20 58 4d 4c 20 74 6f 20 70 72 6f 76  bove XML to prov
11b0: 69 64 65 20 74 68 65 20 76 65 72 73 69 6f 6e 20  ide the version 
11c0: 6e 75 6d 62 65 72 20 61 6e 64 20 6b 65 79 20 74  number and key t
11d0: 6f 6b 65 6e 0a 20 20 20 20 20 20 20 20 6f 66 20  oken.        of 
11e0: 74 68 65 20 53 51 4c 69 74 65 20 44 4c 4c 20 73  the SQLite DLL s
11f0: 6f 20 69 74 20 63 61 6e 20 62 65 20 66 6f 75 6e  o it can be foun
1200: 64 20 65 69 74 68 65 72 20 69 6e 20 74 68 65 20  d either in the 
1210: 73 61 6d 65 20 66 6f 6c 64 65 72 20 61 73 20 74  same folder as t
1220: 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20  he application. 
1230: 20 20 20 20 20 20 20 6f 72 20 6c 6f 6f 6b 65 64         or looked
1240: 20 75 70 20 69 6e 20 74 68 65 20 47 41 43 2e 26   up in the GAC.&
1250: 6e 62 73 70 3b 20 54 68 65 20 64 6f 77 6e 73 69  nbsp; The downsi
1260: 64 65 20 74 6f 20 74 68 69 73 20 6d 65 74 68 6f  de to this metho
1270: 64 20 69 73 20 74 68 61 74 20 44 62 50 72 6f 76  d is that DbProv
1280: 69 64 65 72 46 61 63 74 6f 72 69 65 73 0a 20 20  iderFactories.  
1290: 20 20 20 20 20 20 77 69 6c 6c 20 75 73 65 20 74        will use t
12a0: 68 69 73 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f  his version info
12b0: 72 6d 61 74 69 6f 6e 20 74 6f 20 6f 6e 6c 79 20  rmation to only 
12c0: 6c 6f 61 64 20 74 68 65 20 76 65 72 73 69 6f 6e  load the version
12d0: 20 73 70 65 63 69 66 69 65 64 2e 26 6e 62 73 70   specified.&nbsp
12e0: 3b 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 6d  ; This.        m
12f0: 65 61 6e 73 20 69 66 20 79 6f 75 20 75 70 64 61  eans if you upda
1300: 74 65 20 74 68 65 20 44 4c 4c 2c 20 79 6f 75 20  te the DLL, you 
1310: 6d 75 73 74 20 61 6c 73 6f 20 75 70 64 61 74 65  must also update
1320: 20 74 68 69 73 20 58 4d 4c 2e 3c 2f 70 3e 0a 20   this XML.</p>. 
1330: 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d       <div class=
1340: 22 73 79 6e 74 61 78 22 3e 0a 20 20 20 20 20 20  "syntax">.      
1350: 20 20 3c 50 52 45 3e 0a 26 6c 74 3b 63 6f 6e 66    <PRE>.&lt;conf
1360: 69 67 75 72 61 74 69 6f 6e 26 67 74 3b 0a 20 20  iguration&gt;.  
1370: 26 6c 74 3b 73 79 73 74 65 6d 2e 64 61 74 61 26  &lt;system.data&
1380: 67 74 3b 0a 20 20 20 20 26 6c 74 3b 44 62 50 72  gt;.    &lt;DbPr
1390: 6f 76 69 64 65 72 46 61 63 74 6f 72 69 65 73 26  oviderFactories&
13a0: 67 74 3b 0a 20 20 20 20 20 20 26 6c 74 3b 72 65  gt;.      &lt;re
13b0: 6d 6f 76 65 20 69 6e 76 61 72 69 61 6e 74 3d 22  move invariant="
13c0: 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69  System.Data.SQLi
13d0: 74 65 22 2f 26 67 74 3b 0a 20 20 20 20 20 20 26  te"/&gt;.      &
13e0: 6c 74 3b 61 64 64 20 6e 61 6d 65 3d 22 53 51 4c  lt;add name="SQL
13f0: 69 74 65 20 44 61 74 61 20 50 72 6f 76 69 64 65  ite Data Provide
1400: 72 22 20 69 6e 76 61 72 69 61 6e 74 3d 22 53 79  r" invariant="Sy
1410: 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65  stem.Data.SQLite
1420: 22 20 0a 20 20 20 20 20 20 20 20 20 20 20 64 65  " .           de
1430: 73 63 72 69 70 74 69 6f 6e 3d 22 2e 4e 65 74 20  scription=".Net 
1440: 46 72 61 6d 65 77 6f 72 6b 20 44 61 74 61 20 50  Framework Data P
1450: 72 6f 76 69 64 65 72 20 66 6f 72 20 53 51 4c 69  rovider for SQLi
1460: 74 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 74  te".           t
1470: 79 70 65 3d 22 53 79 73 74 65 6d 2e 44 61 74 61  ype="System.Data
1480: 2e 53 51 4c 69 74 65 2e 53 51 4c 69 74 65 46 61  .SQLite.SQLiteFa
1490: 63 74 6f 72 79 2c 20 53 79 73 74 65 6d 2e 44 61  ctory, System.Da
14a0: 74 61 2e 53 51 4c 69 74 65 2c 0a 20 20 20 20 20  ta.SQLite,.     
14b0: 20 20 20 20 20 20 20 20 20 20 20 20 56 65 72 73              Vers
14c0: 69 6f 6e 3d 31 2e 30 2e 33 32 2e 30 2c 20 43 75  ion=1.0.32.0, Cu
14d0: 6c 74 75 72 65 3d 6e 65 75 74 72 61 6c 2c 0a 20  lture=neutral,. 
14e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
14f0: 50 75 62 6c 69 63 4b 65 79 54 6f 6b 65 6e 3d 64  PublicKeyToken=d
1500: 62 39 33 37 62 63 32 64 34 34 66 66 31 33 39 22  b937bc2d44ff139"
1510: 2f 26 67 74 3b 0a 20 20 20 20 26 6c 74 3b 2f 44  /&gt;.    &lt;/D
1520: 62 50 72 6f 76 69 64 65 72 46 61 63 74 6f 72 69  bProviderFactori
1530: 65 73 26 67 74 3b 0a 20 20 26 6c 74 3b 2f 73 79  es&gt;.  &lt;/sy
1540: 73 74 65 6d 2e 64 61 74 61 26 67 74 3b 0a 26 6c  stem.data&gt;.&l
1550: 74 3b 2f 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  t;/configuration
1560: 26 67 74 3b 0a 3c 2f 70 72 65 3e 0a 20 20 20 20  &gt;.</pre>.    
1570: 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c    </div>.      <
1580: 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 66  p>.        The f
1590: 6f 6c 6c 6f 77 69 6e 67 20 43 23 20 63 6f 64 65  ollowing C# code
15a0: 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 0a 20   demonstrates . 
15b0: 20 20 20 20 20 20 20 69 6e 73 74 61 6e 74 69 61         instantia
15c0: 74 69 6e 67 20 53 51 4c 69 74 65 20 74 68 72 6f  ting SQLite thro
15d0: 75 67 68 20 44 62 50 72 6f 76 69 64 65 72 46 61  ugh DbProviderFa
15e0: 63 74 6f 72 69 65 73 3a 3c 2f 70 3e 0a 20 20 20  ctories:</p>.   
15f0: 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 73     <div class="s
1600: 79 6e 74 61 78 22 3e 3c 70 72 65 3e 20 20 20 20  yntax"><pre>    
1610: 20 20 44 62 50 72 6f 76 69 64 65 72 46 61 63 74    DbProviderFact
1620: 6f 72 79 20 66 61 63 74 20 3d 20 44 62 50 72 6f  ory fact = DbPro
1630: 76 69 64 65 72 46 61 63 74 6f 72 69 65 73 2e 47  viderFactories.G
1640: 65 74 46 61 63 74 6f 72 79 28 22 53 79 73 74 65  etFactory("Syste
1650: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 22 29 3b  m.Data.SQLite");
1660: 0a 20 20 20 20 20 20 75 73 69 6e 67 20 28 44 62  .      using (Db
1670: 43 6f 6e 6e 65 63 74 69 6f 6e 20 63 6e 6e 20 3d  Connection cnn =
1680: 20 66 61 63 74 2e 43 72 65 61 74 65 43 6f 6e 6e   fact.CreateConn
1690: 65 63 74 69 6f 6e 28 29 29 0a 20 20 20 20 20 20  ection()).      
16a0: 7b 0a 20 20 20 20 20 20 20 20 63 6e 6e 2e 43 6f  {.        cnn.Co
16b0: 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e 67 20 3d  nnectionString =
16c0: 20 22 44 61 74 61 20 53 6f 75 72 63 65 3d 74 65   "Data Source=te
16d0: 73 74 2e 64 62 33 22 3b 0a 20 20 20 20 20 20 20  st.db3";.       
16e0: 20 63 6e 6e 2e 4f 70 65 6e 28 29 3b 0a 20 20 20   cnn.Open();.   
16f0: 20 20 20 7d 3c 2f 70 72 65 3e 0a 20 20 20 20 20     }</pre>.     
1700: 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 68   </div>.      <h
1710: 72 3e 0a 20 20 20 20 20 20 3c 64 69 76 20 69 64  r>.      <div id
1720: 3d 22 66 6f 6f 74 65 72 22 3e 0a 20 20 20 20 20  ="footer">.     
1730: 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 20     <p>.         
1740: 20 3c 61 20 68 72 65 66 3d 22 6d 61 69 6c 74 6f   <a href="mailto
1750: 3a 72 6f 62 65 72 74 40 62 6c 61 63 6b 63 61 73  :robert@blackcas
1760: 74 6c 65 73 6f 66 74 2e 63 6f 6d 3f 73 75 62 6a  tlesoft.com?subj
1770: 65 63 74 3d 53 51 4c 69 74 65 2e 4e 45 54 25 32  ect=SQLite.NET%2
1780: 30 43 6c 61 73 73 25 32 30 4c 69 62 72 61 72 79  0Class%20Library
1790: 25 32 30 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e  %20Documentation
17a0: 25 32 30 46 65 65 64 62 61 63 6b 3a 25 32 30 46  %20Feedback:%20F
17b0: 61 63 74 6f 72 79 25 32 30 53 75 70 70 6f 72 74  actory%20Support
17c0: 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 53  ">.            S
17d0: 65 6e 64 20 63 6f 6d 6d 65 6e 74 73 20 6f 6e 20  end comments on 
17e0: 74 68 69 73 20 74 6f 70 69 63 2e 3c 2f 61 3e 0a  this topic.</a>.
17f0: 20 20 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20          </p>.   
1800: 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20       <p>.       
1810: 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 2f 64 69   </p>.      </di
1820: 76 3e 0a 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20  v>.    </div>.  
1830: 20 20 3c 2f 64 69 76 3e 0a 20 20 3c 2f 62 6f 64    </div>.  </bod
1840: 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a                 y>.</html>.