System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact e5faefcc33bc35eef6cb8eb3f09458c2edbdd1a6:


0000: ef bb bf 75 73 69 6e 67 20 53 79 73 74 65 6d 3b  ...using System;
0010: 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 44 61  .using System.Da
0020: 74 61 3b 0a 75 73 69 6e 67 20 53 79 73 74 65 6d  ta;.using System
0030: 2e 54 65 78 74 3b 0a 75 73 69 6e 67 20 53 79 73  .Text;.using Sys
0040: 74 65 6d 2e 44 61 74 61 2e 43 6f 6d 6d 6f 6e 3b  tem.Data.Common;
0050: 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 44 61  .using System.Da
0060: 74 61 2e 53 51 4c 69 74 65 3b 0a 0a 6e 61 6d 65  ta.SQLite;..name
0070: 73 70 61 63 65 20 74 65 73 74 0a 7b 0a 20 20 63  space test.{.  c
0080: 6c 61 73 73 20 50 72 6f 67 72 61 6d 0a 20 20 7b  lass Program.  {
0090: 0a 20 20 20 20 73 74 61 74 69 63 20 76 6f 69 64  .    static void
00a0: 20 4d 61 69 6e 28 73 74 72 69 6e 67 5b 5d 20 61   Main(string[] a
00b0: 72 67 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20  rgs).    {.     
00c0: 20 44 62 50 72 6f 76 69 64 65 72 46 61 63 74 6f   DbProviderFacto
00d0: 72 79 20 66 61 63 74 3b 0a 20 20 20 20 20 20 66  ry fact;.      f
00e0: 61 63 74 20 3d 20 44 62 50 72 6f 76 69 64 65 72  act = DbProvider
00f0: 46 61 63 74 6f 72 69 65 73 2e 47 65 74 46 61 63  Factories.GetFac
0100: 74 6f 72 79 28 22 53 79 73 74 65 6d 2e 44 61 74  tory("System.Dat
0110: 61 2e 53 51 4c 69 74 65 22 29 3b 0a 0a 20 20 20  a.SQLite");..   
0120: 20 20 20 53 79 73 74 65 6d 2e 49 4f 2e 46 69 6c     System.IO.Fil
0130: 65 2e 44 65 6c 65 74 65 28 22 74 65 73 74 2e 64  e.Delete("test.d
0140: 62 33 22 29 3b 0a 20 20 20 20 20 20 75 73 69 6e  b3");.      usin
0150: 67 20 28 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 20  g (DbConnection 
0160: 63 6e 6e 20 3d 20 66 61 63 74 2e 43 72 65 61 74  cnn = fact.Creat
0170: 65 43 6f 6e 6e 65 63 74 69 6f 6e 28 29 29 0a 20  eConnection()). 
0180: 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 63       {.        c
0190: 6e 6e 2e 43 6f 6e 6e 65 63 74 69 6f 6e 53 74 72  nn.ConnectionStr
01a0: 69 6e 67 20 3d 20 22 44 61 74 61 20 53 6f 75 72  ing = "Data Sour
01b0: 63 65 3d 74 65 73 74 2e 64 62 33 22 3b 0a 20 20  ce=test.db3";.  
01c0: 20 20 20 20 20 20 63 6e 6e 2e 4f 70 65 6e 28 29        cnn.Open()
01d0: 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 63 6e 6e  ;..        //cnn
01e0: 2e 55 70 64 61 74 65 20 2b 3d 20 6e 65 77 20 53  .Update += new S
01f0: 51 4c 69 74 65 55 70 64 61 74 65 45 76 65 6e 74  QLiteUpdateEvent
0200: 48 61 6e 64 6c 65 72 28 63 6e 6e 5f 55 70 64 61  Handler(cnn_Upda
0210: 74 65 64 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f  ted);.        //
0220: 63 6e 6e 2e 43 6f 6d 6d 69 74 20 2b 3d 20 6e 65  cnn.Commit += ne
0230: 77 20 53 51 4c 69 74 65 43 6f 6d 6d 69 74 48 61  w SQLiteCommitHa
0240: 6e 64 6c 65 72 28 63 6e 6e 5f 43 6f 6d 6d 69 74  ndler(cnn_Commit
0250: 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 63 6e 6e  );.        //cnn
0260: 2e 52 6f 6c 6c 42 61 63 6b 20 2b 3d 20 6e 65 77  .RollBack += new
0270: 20 45 76 65 6e 74 48 61 6e 64 6c 65 72 28 63 6e   EventHandler(cn
0280: 6e 5f 52 6f 6c 6c 42 61 63 6b 29 3b 0a 0a 20 20  n_RollBack);..  
0290: 20 20 20 20 20 20 54 65 73 74 43 61 73 65 73 2e        TestCases.
02a0: 52 75 6e 28 66 61 63 74 2c 20 63 6e 6e 29 3b 0a  Run(fact, cnn);.
02b0: 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 43        }..      C
02c0: 6f 6e 73 6f 6c 65 2e 52 65 61 64 4b 65 79 28 29  onsole.ReadKey()
02d0: 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 61  ;.    }..    sta
02e0: 74 69 63 20 76 6f 69 64 20 63 6e 6e 5f 52 6f 6c  tic void cnn_Rol
02f0: 6c 42 61 63 6b 28 6f 62 6a 65 63 74 20 73 65 6e  lBack(object sen
0300: 64 65 72 2c 20 45 76 65 6e 74 41 72 67 73 20 65  der, EventArgs e
0310: 29 0a 20 20 20 20 7b 0a 20 20 20 20 7d 0a 0a 20  ).    {.    }.. 
0320: 20 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 63     static void c
0330: 6e 6e 5f 43 6f 6d 6d 69 74 28 6f 62 6a 65 63 74  nn_Commit(object
0340: 20 73 65 6e 64 65 72 2c 20 43 6f 6d 6d 69 74 45   sender, CommitE
0350: 76 65 6e 74 41 72 67 73 20 65 29 0a 20 20 20 20  ventArgs e).    
0360: 7b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 61  {.    }..    sta
0370: 74 69 63 20 76 6f 69 64 20 63 6e 6e 5f 55 70 64  tic void cnn_Upd
0380: 61 74 65 64 28 6f 62 6a 65 63 74 20 73 65 6e 64  ated(object send
0390: 65 72 2c 20 55 70 64 61 74 65 45 76 65 6e 74 41  er, UpdateEventA
03a0: 72 67 73 20 65 29 0a 20 20 20 20 7b 0a 20 20 20  rgs e).    {.   
03b0: 20 7d 0a 20 20 7d 0a 7d 0a                        }.  }.}.