System.Data.SQLite
Hex Artifact Content
Not logged in

## Artifact d4963672c0179280c9af6b100a6738f8be03981a:

Ticket change [d4963672c0] - Ticket [4bbf851fa5] DBConcurrencyException status still Open with 1 other change by mistachkin 2012-02-19 12:35:26.
0000: 44 20 32 30 31 32 2d 30 32 2d 31 39 54 31 32 3a  D 2012-02-19T12:
0010: 33 35 3a 32 36 2e 31 34 38 0a 4a 20 63 6f 6d 6d  35:26.148.J comm
0020: 65 6e 74 20 44 42 43 6f 6e 63 75 72 72 65 6e 63  ent DBConcurrenc
0030: 79 45 78 63 65 70 74 69 6f 6e 5c 72 5c 6e 5c 72  yException\r\n\r
0040: 5c 6e 54 68 69 73 5c 73 69 73 73 75 65 5c 73 69  \nThis\sissue\si
0050: 73 5c 73 72 65 6c 61 74 65 64 5c 73 74 6f 5c 73  s\srelated\sto\s
0060: 74 68 65 5c 73 63 6c 6f 73 65 64 5c 73 74 69 63  the\sclosed\stic
0070: 6b 65 74 5c 73 5b 33 34 33 64 33 39 32 62 35 31  ket\s[343d392b51
0080: 5d 5c 72 5c 6e 49 6e 5c 73 66 61 63 74 5c 73 74  ]\r\nIn\sfact\st
0090: 68 65 5c 73 70 72 6f 62 6c 65 6d 5c 73 73 74 69  he\sproblem\ssti
00a0: 6c 6c 5c 73 72 65 6d 61 69 6e 73 2e 5c 73 50 6c  ll\sremains.\sPl
00b0: 65 61 73 65 5c 73 72 65 61 64 5c 73 74 68 65 5c  ease\sread\sthe\
00c0: 73 6f 6c 64 5c 73 74 69 63 6b 65 74 5c 73 66 69  sold\sticket\sfi
00d0: 72 73 74 2e 5c 72 5c 6e 5c 72 5c 6e 41 73 5c 73  rst.\r\n\r\nAs\s
00e0: 61 5c 73 77 6f 72 6b 61 72 6f 75 6e 64 5c 73 49  a\sworkaround\sI
00f0: 5c 73 6e 6f 77 5c 73 64 6f 5c 73 6e 6f 74 5c 73  \snow\sdo\snot\s
0100: 75 73 65 5c 73 61 64 61 70 74 65 72 2e 55 70 64  use\sadapter.Upd
0110: 61 74 65 28 29 5c 73 61 6e 79 5c 73 6c 6f 6e 67  ate()\sany\slong
0120: 65 72 5c 73 28 61 73 5c 73 69 74 5c 73 72 61 69  er\s(as\sit\srai
0130: 73 65 73 5c 73 74 68 65 5c 73 65 78 63 65 70 74  ses\sthe\sexcept
0140: 69 6f 6e 29 2e 5c 72 5c 6e 49 6e 73 74 65 61 64  ion).\r\nInstead
0150: 5c 73 6f 66 5c 72 5c 6e 5c 72 5c 6e 53 74 72 69  \sof\r\n\r\nStri
0160: 6e 67 5c 73 5c 73 74 61 62 6c 65 5c 73 3d 5c 73  ng\s\stable\s=\s
0170: e2 80 9c 74 61 62 6c 65 e2 80 9d 3b 5c 72 5c 6e  ...table...;\r\n
0180: 74 72 79 5c 73 7b 5c 72 5c 6e 73 71 6c 5c 73 3d  try\s{\r\nsql\s=
0190: 5c 73 22 73 65 6c 65 63 74 5c 73 2a 5c 73 66 72  \s"select\s*\sfr
01a0: 6f 6d 5c 73 74 61 62 6c 65 5c 73 77 68 65 72 65  om\stable\swhere
01b0: 5c 73 2e 2e 2e 22 3b 5c 72 5c 6e 64 61 5c 73 3d  \s...";\r\nda\s=
01c0: 5c 73 6e 65 77 5c 73 53 51 4c 69 74 65 44 61 74  \snew\sSQLiteDat
01d0: 61 41 64 61 70 74 65 72 28 73 71 6c 2c 5c 73 64  aAdapter(sql,\sd
01e0: 62 5f 63 6f 6e 29 3b 5c 72 5c 6e 64 61 2e 46 69  b_con);\r\nda.Fi
01f0: 6c 6c 28 64 73 2c 5c 73 74 61 62 6c 65 29 3b 5c  ll(ds,\stable);\
0200: 72 5c 6e 64 74 5c 73 3d 5c 73 64 73 2e 54 61 62  r\ndt\s=\sds.Tab
0210: 6c 65 73 5b 74 61 62 6c 65 5d 3b 5c 72 5c 6e e2  les[table];\r\n.
0220: 80 a6 5c 72 5c 6e 6d 61 6e 69 70 75 6c 61 74 65  ..\r\nmanipulate
0230: 5f 64 61 74 61 28 29 3b 5c 73 5c 72 5c 6e 69 6e  _data();\s\r\nin
0240: 74 5c 73 69 5c 73 3d 5c 73 64 61 2e 55 70 64 61  t\si\s=\sda.Upda
0250: 74 65 28 64 74 29 3b 5c 73 2f 2f 5c 73 68 65 72  te(dt);\s//\sher
0260: 65 5c 73 74 68 65 5c 73 44 42 43 6f 6e 63 75 72  e\sthe\sDBConcur
0270: 72 65 6e 63 79 45 78 63 65 70 74 69 6f 6e 5c 73  rencyException\s
0280: 72 61 69 73 65 73 5c 73 21 21 21 5c 73 5c 72 5c  raises\s!!!\s\r\
0290: 6e 5c 72 5c 6e 49 5c 73 6e 6f 77 5c 73 75 73 65  n\r\nI\snow\suse
02a0: 5c 73 61 5c 73 73 74 75 70 69 64 5c 73 73 71 6c  \sa\sstupid\ssql
02b0: 2e 63 6f 6d 6d 61 6e 64 5c 73 69 6e 5c 73 61 5c  .command\sin\sa\
02c0: 73 6c 6f 6f 70 2e 5c 72 5c 6e e2 80 a6 5c 72 5c  sloop.\r\n...\r\
02d0: 6e 53 74 72 69 6e 67 5c 73 73 71 6c 5c 73 3d 5c  nString\ssql\s=\
02e0: 73 53 74 72 69 6e 67 2e 46 6f 72 6d 61 74 28 22  sString.Format("
02f0: 75 70 64 61 74 65 5c 73 74 61 62 6c 65 5c 73 73  update\stable\ss
0300: 65 74 5c 73 e2 80 a6 5c 73 e2 80 9c 5c 72 5c 6e  et\s...\s...\r\n
0310: 5c 72 5c 6e 53 51 4c 69 74 65 43 6f 6d 6d 61 6e  \r\nSQLiteComman
0320: 64 5c 73 63 6d 64 5c 73 3d 5c 73 6e 65 77 5c 73  d\scmd\s=\snew\s
0330: 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 28 73 71  SQLiteCommand(sq
0340: 6c 2c 5c 73 64 62 63 6f 6e 6e 65 63 74 69 6f 6e  l,\sdbconnection
0350: 29 3b 5c 72 5c 6e 72 65 74 75 72 6e 5c 73 63 6d  );\r\nreturn\scm
0360: 64 2e 45 78 65 63 75 74 65 4e 6f 6e 51 75 65 72  d.ExecuteNonQuer
0370: 79 28 29 3b 5c 72 5c 6e e2 80 a6 5c 72 5c 6e 5c  y();\r\n...\r\n\
0380: 72 5c 6e 54 68 69 73 5c 73 77 6f 72 6b 73 2c 5c  r\nThis\sworks,\
0390: 73 62 75 74 5c 73 69 74 5c 73 64 6f 65 73 5c 73  sbut\sit\sdoes\s
03a0: 6e 6f 74 5c 73 70 65 72 66 6f 72 6d 5c 73 77 65  not\sperform\swe
03b0: 6c 6c 5c 73 61 6e 64 5c 73 69 74 5c 73 69 73 5c  ll\sand\sit\sis\
03c0: 73 76 65 72 79 5c 73 75 67 6c 79 5c 73 63 6f 64  svery\sugly\scod
03d0: 65 2e 5c 72 5c 6e 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  e.\r\n__________
03e0: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
03f0: 5f 5f 5f 5f 5f 5f 5c 73 5c 72 5c 6e 5c 72 5c 6e  ______\s\r\n\r\n
0400: 54 68 65 5c 73 44 42 43 6f 6e 63 75 72 72 65 6e  The\sDBConcurren
0410: 63 79 45 78 63 65 70 74 69 6f 6e 5c 73 72 61 69  cyException\srai
0420: 73 65 73 5c 73 6e 6f 74 5c 73 6f 6e 5c 73 65 76  ses\snot\son\sev
0430: 65 72 79 5c 73 61 64 61 70 74 65 72 2e 55 70 64  ery\sadapter.Upd
0440: 61 74 65 28 29 5c 73 73 74 61 74 65 6d 65 6e 74  ate()\sstatement
0450: 2e 5c 73 53 6f 6d 65 74 69 6d 65 73 5c 73 69 74  .\sSometimes\sit
0460: 5c 73 77 6f 72 6b 73 2c 5c 73 73 6f 6d 65 74 69  \sworks,\ssometi
0470: 6d 65 73 5c 73 6e 6f 74 2e 5c 73 53 6f 6d 65 74  mes\snot.\sSomet
0480: 69 6d 65 73 5c 73 61 5c 73 66 65 77 5c 73 72 65  imes\sa\sfew\sre
0490: 63 6f 72 64 73 5c 73 61 72 65 5c 73 75 70 64 61  cords\sare\supda
04a0: 74 65 64 2c 5c 73 73 6f 6d 65 74 69 6d 65 73 5c  ted,\ssometimes\
04b0: 73 6a 75 73 74 5c 73 6f 6e 6c 79 5c 73 6f 6e 65  sjust\sonly\sone
04c0: 2c 5c 73 73 6f 6d 65 74 69 6d 65 73 5c 73 6e 6f  ,\ssometimes\sno
04d0: 6e 65 2e 5c 73 53 6f 6d 65 74 69 6d 65 73 5c 73  ne.\sSometimes\s
04e0: 69 74 5c 73 72 61 69 73 65 73 5c 73 6f 6e 5c 73  it\sraises\son\s
04f0: 74 68 69 73 5c 73 74 61 62 6c 65 2c 5c 73 73 6f  this\stable,\sso
0500: 6d 65 74 69 6d 65 73 5c 73 6f 6e 5c 73 74 68 65  metimes\son\sthe
0510: 5c 73 6f 74 68 65 72 5c 73 74 61 62 6c 65 2e 5c  \sother\stable.\
0520: 72 5c 6e 41 6c 6c 5c 73 6d 79 5c 73 74 61 62 6c  r\nAll\smy\stabl
0530: 65 73 5c 73 68 61 76 65 5c 73 61 73 5c 73 61 5c  es\shave\sas\sa\
0540: 73 66 69 72 73 74 5c 73 63 6f 6c 75 6d 6e 5c 73  sfirst\scolumn\s
0550: 61 5c 73 44 61 74 65 54 69 6d 65 5c 73 63 6f 6c  a\sDateTime\scol
0560: 75 6d 6e 5c 73 28 e2 80 9c 43 48 41 4e 47 45 5f  umn\s(...CHANGE_
0570: 44 41 54 45 e2 80 9d 29 2e 5c 72 5c 6e 49 74 5c  DATE...).\r\nIt\
0580: 73 64 6f 65 73 5c 73 6e 6f 74 5c 73 6d 61 74 74  sdoes\snot\smatt
0590: 65 72 5c 73 77 68 65 74 68 65 72 5c 73 49 5c 73  er\swhether\sI\s
05a0: 64 6f 5c 72 5c 6e 72 6f 77 5b e2 80 9c 43 48 41  do\r\nrow[...CHA
05b0: 4e 47 45 5f 44 41 54 45 e2 80 9d 5d 5c 73 3d 5c  NGE_DATE...]\s=\
05c0: 73 44 61 74 65 54 69 6d 65 2e 4e 6f 77 3b 5c 72  sDateTime.Now;\r
05d0: 5c 6e 4f 72 5c 72 5c 6e 72 6f 77 5b 22 43 48 41  \nOr\r\nrow["CHA
05e0: 4e 47 45 5f 44 41 54 45 22 5d 5c 73 3d 5c 73 44  NGE_DATE"]\s=\sD
05f0: 61 74 65 54 69 6d 65 2e 4e 6f 77 2e 59 65 61 72  ateTime.Now.Year
0600: 5c 73 2b 5c 73 22 2d 22 5c 73 2b 5c 73 44 61 74  \s+\s"-"\s+\sDat
0610: 65 54 69 6d 65 2e 4e 6f 77 2e 4d 6f 6e 74 68 5c  eTime.Now.Month\
0620: 73 2b 5c 73 22 2d 22 5c 73 2b 5c 73 44 61 74 65  s+\s"-"\s+\sDate
0630: 54 69 6d 65 2e 4e 6f 77 2e 44 61 79 5c 73 2b 5c  Time.Now.Day\s+\
0640: 73 22 5c 73 22 5c 73 2b 5c 73 44 61 74 65 54 69  s"\s"\s+\sDateTi
0650: 6d 65 2e 4e 6f 77 2e 54 69 6d 65 4f 66 44 61 79  me.Now.TimeOfDay
0660: 3b 5c 72 5c 6e 5c 72 5c 6e 72 65 67 61 72 64 73  ;\r\n\r\nregards
0670: 2c 5c 72 5c 6e 53 69 6d 6f 6e 5c 72 5c 6e 5c 72  ,\r\nSimon\r\n\r
0680: 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 6d 69 73 74  \n<hr\s/><i>mist
0690: 61 63 68 6b 69 6e 5c 73 61 64 64 65 64 5c 73 6f  achkin\sadded\so
06a0: 6e 5c 73 32 30 31 31 2d 31 32 2d 32 35 5c 73 32  n\s2011-12-25\s2
06b0: 33 3a 33 31 3a 30 39 5c 73 55 54 43 3a 3c 2f 69  3:31:09\sUTC:</i
06c0: 3e 3c 62 72 5c 73 2f 3e 5c 72 5c 6e 41 72 65 5c  ><br\s/>\r\nAre\
06d0: 73 79 6f 75 5c 73 75 73 69 6e 67 5c 73 44 61 74  syou\susing\sDat
06e0: 65 54 69 6d 65 46 6f 72 6d 61 74 3d 4a 75 6c 69  eTimeFormat=Juli
06f0: 61 6e 44 61 79 5c 73 6f 72 5c 73 55 6e 69 78 45  anDay\sor\sUnixE
0700: 70 6f 63 68 5c 73 69 6e 5c 73 74 68 65 5c 73 63  poch\sin\sthe\sc
0710: 6f 6e 6e 65 63 74 69 6f 6e 5c 73 73 74 72 69 6e  onnection\sstrin
0720: 67 3f 5c 73 5c 73 54 68 69 73 5c 73 69 73 5c 73  g?\s\sThis\sis\s
0730: 6e 65 63 65 73 73 61 72 79 5c 73 74 6f 5c 73 74  necessary\sto\st
0740: 61 6b 65 5c 73 61 64 76 61 6e 74 61 67 65 5c 73  ake\sadvantage\s
0750: 6f 66 5c 73 74 68 65 5c 73 66 69 78 5c 73 66 6f  of\sthe\sfix\sfo
0760: 72 5c 73 74 68 65 5c 73 70 72 65 76 69 6f 75 73  r\sthe\sprevious
0770: 5c 73 74 69 63 6b 65 74 5c 73 79 6f 75 5c 73 6d  \sticket\syou\sm
0780: 65 6e 74 69 6f 6e 65 64 2e 5c 72 5c 6e 5c 72 5c  entioned.\r\n\r\
0790: 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 61 6e 6f 6e 79  n<hr\s/><i>anony
07a0: 6d 6f 75 73 5c 73 61 64 64 65 64 5c 73 6f 6e 5c  mous\sadded\son\
07b0: 73 32 30 31 31 2d 31 32 2d 32 36 5c 73 32 33 3a  s2011-12-26\s23:
07c0: 32 33 3a 31 34 5c 73 55 54 43 3a 3c 2f 69 3e 3c  23:14\sUTC:</i><
07d0: 62 72 5c 73 2f 3e 5c 72 5c 6e 49 66 5c 73 49 5c  br\s/>\r\nIf\sI\
07e0: 73 75 73 65 5c 73 3e 5c 73 44 61 74 65 54 69 6d  suse\s>\sDateTim
07f0: 65 46 6f 72 6d 61 74 3d 4a 75 6c 69 61 6e 44 61  eFormat=JulianDa
0800: 79 5c 73 3c 5c 73 69 6e 5c 73 74 68 65 5c 73 63  y\s<\sin\sthe\sc
0810: 6f 6e 6e 65 63 74 69 6f 6e 73 74 72 69 6e 67 5c  onnectionstring\
0820: 73 74 68 65 5c 73 73 74 61 74 65 6d 65 6e 74 5c  sthe\sstatement\
0830: 72 5c 6e 5c 72 5c 6e 5c 73 5c 73 78 79 64 61 74  r\n\r\n\s\sxydat
0840: 65 74 69 6d 65 5c 73 3d 5c 73 72 65 61 64 65 72  etime\s=\sreader
0850: 2e 47 65 74 44 61 74 65 54 69 6d 65 28 30 29 3b  .GetDateTime(0);
0860: 5c 72 5c 6e 5c 72 5c 6e 72 61 69 73 65 73 5c 73  \r\n\r\nraises\s
0870: 61 6e 5c 73 65 78 63 65 70 74 69 6f 6e 3a 5c 72  an\sexception:\r
0880: 5c 6e 5c 72 5c 6e 54 79 70 65 49 6e 69 74 69 61  \n\r\nTypeInitia
0890: 6c 69 73 61 74 69 6f 6e 45 78 63 65 70 74 69 6f  lisationExceptio
08a0: 6e 3a 5c 73 5c 73 77 72 6f 6e 67 5c 73 66 6f 72  n:\s\swrong\sfor
08b0: 6d 61 74 5c 72 5c 6e 5f 5f 5f 5f 5f 5f 5f 5c 72  mat\r\n_______\r
08c0: 5c 6e 5c 72 5c 6e 53 74 72 69 6e 67 5c 73 73 71  \n\r\nString\ssq
08d0: 6c 5c 73 3d 5c 73 22 73 65 6c 65 63 74 5c 73 43  l\s=\s"select\sC
08e0: 48 41 4e 47 45 5f 44 41 54 45 2c 5c 73 2e 2e 2e  HANGE_DATE,\s...
08f0: 5c 73 5c 73 5c 73 5c 73 5c 73 66 72 6f 6d 5c 73  \s\s\s\s\sfrom\s
0900: 54 41 42 4c 45 5c 73 2e 2e 5c 73 22 3b 5c 72 5c  TABLE\s..\s";\r\
0910: 6e 5c 72 5c 6e 53 51 4c 69 74 65 43 6f 6d 6d 61  n\r\nSQLiteComma
0920: 6e 64 5c 73 63 6d 64 5c 73 3d 5c 73 6e 65 77 5c  nd\scmd\s=\snew\
0930: 73 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 28 73  sSQLiteCommand(s
0940: 71 6c 2c 5c 73 64 62 63 6f 6e 6e 65 63 74 69 6f  ql,\sdbconnectio
0950: 6e 29 3b 5c 72 5c 6e 5c 72 5c 6e 53 51 4c 69 74  n);\r\n\r\nSQLit
0960: 65 44 61 74 61 52 65 61 64 65 72 5c 73 72 65 61  eDataReader\srea
0970: 64 65 72 5c 73 3d 5c 73 63 6d 64 2e 45 78 65 63  der\s=\scmd.Exec
0980: 75 74 65 52 65 61 64 65 72 28 29 3b 5c 72 5c 6e  uteReader();\r\n
0990: 5c 72 5c 6e 5c 73 69 66 5c 73 28 72 65 61 64 65  \r\n\sif\s(reade
09a0: 72 2e 48 61 73 52 6f 77 73 29 5c 72 5c 6e 5c 73  r.HasRows)\r\n\s
09b0: 5c 73 5c 73 5c 73 5c 73 77 68 69 6c 65 5c 73 28  \s\s\s\swhile\s(
09c0: 72 65 61 64 65 72 2e 52 65 61 64 28 29 29 5c 72  reader.Read())\r
09d0: 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 7b 5c 72 5c  \n\s\s\s\s\s{\r\
09e0: 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 2e  n\s\s\s\s\s\s\s.
09f0: 2e 2e 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73  ..\r\n\s\s\s\s\s
0a00: 5c 73 5c 73 78 79 64 61 74 65 74 69 6d 65 5c 73  \s\sxydatetime\s
0a10: 3d 5c 73 72 65 61 64 65 72 2e 47 65 74 44 61 74  =\sreader.GetDat
0a20: 65 54 69 6d 65 28 30 29 3b 5c 72 5c 6e 5c 73 5c  eTime(0);\r\n\s\
0a30: 73 5c 73 5c 73 5c 73 5c 73 5c 73 2e 2e 2e 5c 72  s\s\s\s\s\s...\r
0a40: 5c 6e 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73  \n\r\n\s\s\s\s\s
0a50: 5c 73 5c 73 7d 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c  \s\s}\r\n\r\n\s\
0a60: 73 72 65 61 64 65 72 2e 43 6c 6f 73 65 28 29 3b  sreader.Close();
0a70: 5c 72 5c 6e 5c 72 5c 6e 5c 72 5c 6e 3c 68 72 5c  \r\n\r\n\r\n<hr\
0a80: 73 2f 3e 3c 69 3e 6d 69 73 74 61 63 68 6b 69 6e  s/><i>mistachkin
0a90: 5c 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32 30 31  \sadded\son\s201
0aa0: 31 2d 31 32 2d 32 37 5c 73 30 33 3a 32 34 3a 31  1-12-27\s03:24:1
0ab0: 35 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62 72 5c 73  5\sUTC:</i><br\s
0ac0: 2f 3e 5c 72 5c 6e 57 68 65 6e 5c 73 79 6f 75 5c  />\r\nWhen\syou\
0ad0: 73 75 73 65 5c 73 74 68 65 5c 73 4a 75 6c 69 61  suse\sthe\sJulia
0ae0: 6e 44 61 79 5c 73 66 6f 72 6d 61 74 2c 5c 73 74  nDay\sformat,\st
0af0: 68 65 5c 73 74 79 70 65 5c 73 63 6f 6e 76 65 72  he\stype\sconver
0b00: 73 69 6f 6e 5c 73 63 6f 64 65 5c 73 61 73 73 75  sion\scode\sassu
0b10: 6d 65 73 5c 73 74 68 61 74 5c 73 64 61 74 61 62  mes\sthat\sdatab
0b20: 61 73 65 5c 73 66 69 65 6c 64 73 5c 73 77 69 74  ase\sfields\swit
0b30: 68 5c 73 74 68 65 5c 73 74 79 70 65 5c 73 44 41  h\sthe\stype\sDA
0b40: 54 45 54 49 4d 45 5c 73 28 6f 72 5c 73 44 41 54  TETIME\s(or\sDAT
0b50: 45 2c 5c 73 65 74 63 29 5c 73 77 69 6c 6c 5c 73  E,\setc)\swill\s
0b60: 61 63 74 75 61 6c 6c 79 5c 73 62 65 5c 73 61 5c  actually\sbe\sa\
0b70: 73 66 6c 6f 61 74 69 6e 67 5c 73 70 6f 69 6e 74  sfloating\spoint
0b80: 5c 73 6e 75 6d 62 65 72 2e 5c 73 5c 73 4c 69 6b  \snumber.\s\sLik
0b90: 65 77 69 73 65 2c 5c 73 77 68 65 6e 5c 73 79 6f  ewise,\swhen\syo
0ba0: 75 5c 73 75 73 65 5c 73 74 68 65 5c 73 55 6e 69  u\suse\sthe\sUni
0bb0: 78 45 70 6f 63 68 5c 73 66 6f 72 6d 61 74 2c 5c  xEpoch\sformat,\
0bc0: 73 69 74 5c 73 61 73 73 75 6d 65 73 5c 73 74 68  sit\sassumes\sth
0bd0: 61 74 5c 73 64 61 74 61 62 61 73 65 5c 73 66 69  at\sdatabase\sfi
0be0: 65 6c 64 73 5c 73 77 69 74 68 5c 73 74 68 65 5c  elds\swith\sthe\
0bf0: 73 74 79 70 65 5c 73 44 41 54 45 54 49 4d 45 5c  stype\sDATETIME\
0c00: 73 77 69 6c 6c 5c 73 61 63 74 75 61 6c 6c 79 5c  swill\sactually\
0c10: 73 62 65 5c 73 61 6e 5c 73 69 6e 74 65 67 65 72  sbe\san\sinteger
0c20: 5c 73 6e 75 6d 62 65 72 5c 73 6f 66 5c 73 73 65  \snumber\sof\sse
0c30: 63 6f 6e 64 73 5c 73 73 69 6e 63 65 5c 73 74 68  conds\ssince\sth
0c40: 65 5c 73 55 6e 69 78 5c 73 65 70 6f 63 68 2e 5c  e\sUnix\sepoch.\
0c50: 72 5c 6e 5c 72 5c 6e 5c 72 5c 6e 3c 68 72 5c 73  r\n\r\n\r\n<hr\s
0c60: 2f 3e 3c 69 3e 61 6e 6f 6e 79 6d 6f 75 73 5c 73  /><i>anonymous\s
0c70: 61 64 64 65 64 5c 73 6f 6e 5c 73 32 30 31 31 2d  added\son\s2011-
0c80: 31 32 2d 32 37 5c 73 31 37 3a 35 34 3a 34 32 5c  12-27\s17:54:42\
0c90: 73 55 54 43 3a 3c 2f 69 3e 3c 62 72 5c 73 2f 3e  sUTC:</i><br\s/>
0ca0: 5c 72 5c 6e 63 6f 6e 6e 65 63 74 69 6f 6e 5c 73  \r\nconnection\s
0cb0: 73 74 72 69 6e 67 5c 73 63 6f 6e 74 61 69 6e 73  string\scontains
0cc0: 5c 73 3e 5c 73 44 61 74 65 54 69 6d 65 46 6f 72  \s>\sDateTimeFor
0cd0: 6d 61 74 3d 4a 75 6c 69 61 6e 44 61 79 5c 73 3c  mat=JulianDay\s<
0ce0: 5c 72 5c 6e 5c 72 5c 6e 74 68 65 5c 73 66 6f 6c  \r\n\r\nthe\sfol
0cf0: 6c 6f 77 69 6e 67 5c 73 63 6f 64 65 5c 73 72 61  lowing\scode\sra
0d00: 69 73 65 73 5c 73 53 79 73 74 65 6d 2e 46 6f 72  ises\sSystem.For
0d10: 6d 61 74 45 78 63 65 70 74 69 6f 6e 3a 5c 72 5c  matException:\r\
0d20: 6e 5c 72 5c 6e 53 74 72 69 6e 67 5c 73 53 71 6c  n\r\nString\sSql
0d30: 5c 73 3d 5c 73 22 53 65 6c 65 63 74 5c 73 43 48  \s=\s"Select\sCH
0d40: 41 4e 47 45 5f 44 41 54 45 2c 5c 73 e2 80 a6 5c  ANGE_DATE,\s...\
0d50: 73 66 72 6f 6d 5c 73 74 61 62 6c 65 5c 73 2e 2e  sfrom\stable\s..
0d60: e2 80 9d 3b 5c 72 5c 6e 5c 73 5c 72 5c 6e 64 61  ...;\r\n\s\r\nda
0d70: 5c 73 3d 5c 73 6e 65 77 5c 73 53 51 4c 69 74 65  \s=\snew\sSQLite
0d80: 44 61 74 61 41 64 61 70 74 65 72 28 73 71 6c 2c  DataAdapter(sql,
0d90: 5c 73 64 62 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b  \sdbconnection);
0da0: 5c 72 5c 6e 5c 72 5c 6e 64 61 2e 46 69 6c 6c 28  \r\n\r\nda.Fill(
0db0: 64 73 65 74 2c 5c 73 74 61 62 6c 65 29 3b 5c 72  dset,\stable);\r
0dc0: 5c 6e 5c 72 5c 6e 54 68 65 5c 73 63 6f 6c 75 6d  \n\r\nThe\scolum
0dd0: 6e 5c 73 43 48 41 4e 47 45 5f 44 41 54 45 5c 73  n\sCHANGE_DATE\s
0de0: 69 73 5c 73 6f 66 5c 73 74 79 70 65 5c 73 44 41  is\sof\stype\sDA
0df0: 54 45 54 49 4d 45 2e 5c 72 5c 6e 5c 72 5c 6e 3c  TETIME.\r\n\r\n<
0e00: 68 72 5c 73 2f 3e 3c 69 3e 61 6e 6f 6e 79 6d 6f  hr\s/><i>anonymo
0e10: 75 73 5c 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32  us\sadded\son\s2
0e20: 30 31 31 2d 31 32 2d 32 38 5c 73 30 30 3a 30 36  011-12-28\s00:06
0e30: 3a 32 35 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62 72  :25\sUTC:</i><br
0e40: 5c 73 2f 3e 5c 72 5c 6e 57 68 79 5c 73 64 69 64  \s/>\r\nWhy\sdid
0e50: 5c 73 79 6f 75 5c 73 63 6c 6f 73 65 5c 73 74 68  \syou\sclose\sth
0e60: 69 73 5c 73 74 69 63 6b 65 74 5c 73 3f 5c 72 5c  is\sticket\s?\r\
0e70: 6e 5c 72 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 6d  n\r\n<hr\s/><i>m
0e80: 69 73 74 61 63 68 6b 69 6e 5c 73 61 64 64 65 64  istachkin\sadded
0e90: 5c 73 6f 6e 5c 73 32 30 31 31 2d 31 32 2d 32 38  \son\s2011-12-28
0ea0: 5c 73 30 35 3a 30 37 3a 35 37 5c 73 55 54 43 3a  \s05:07:57\sUTC:
0eb0: 3c 2f 69 3e 3c 62 72 5c 73 2f 3e 5c 72 5c 6e 42  </i><br\s/>\r\nB
0ec0: 65 63 61 75 73 65 5c 73 74 68 65 5c 73 62 65 68  ecause\sthe\sbeh
0ed0: 61 76 69 6f 72 5c 73 79 6f 75 5c 73 61 70 70 65  avior\syou\sappe
0ee0: 61 72 5c 73 74 6f 5c 73 64 65 73 63 72 69 62 65  ar\sto\sdescribe
0ef0: 5c 73 69 73 5c 73 6e 6f 74 5c 73 61 5c 73 62 75  \sis\snot\sa\sbu
0f00: 67 2e 5c 73 5c 73 57 68 65 6e 5c 73 75 73 69 6e  g.\s\sWhen\susin
0f10: 67 5c 73 74 68 65 5c 73 55 6e 69 78 45 70 6f 63  g\sthe\sUnixEpoc
0f20: 68 5c 73 6f 72 5c 73 4a 75 6c 69 61 6e 44 61 79  h\sor\sJulianDay
0f30: 5c 73 66 6f 72 6d 61 74 73 5c 73 69 6e 5c 73 74  \sformats\sin\st
0f40: 68 65 5c 73 63 6f 6e 6e 65 63 74 69 6f 6e 5c 73  he\sconnection\s
0f50: 73 74 72 69 6e 67 2c 5c 73 74 68 65 5c 73 75 6e  string,\sthe\sun
0f60: 64 65 72 6c 79 69 6e 67 5c 73 64 61 74 61 5c 73  derlying\sdata\s
0f70: 69 6e 5c 73 74 68 65 5c 73 64 61 74 61 62 61 73  in\sthe\sdatabas
0f80: 65 5c 73 69 74 73 65 6c 66 5c 73 6d 75 73 74 5c  e\sitself\smust\
0f90: 73 62 65 5c 73 6f 66 5c 73 74 68 65 5c 73 74 79  sbe\sof\sthe\sty
0fa0: 70 65 5c 73 65 78 70 65 63 74 65 64 5c 73 62 79  pe\sexpected\sby
0fb0: 5c 73 74 68 65 5c 73 74 79 70 65 5c 73 63 6f 6e  \sthe\stype\scon
0fc0: 76 65 72 73 69 6f 6e 5c 73 63 6f 64 65 5c 73 69  version\scode\si
0fd0: 6e 5c 73 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  n\sSystem.Data.S
0fe0: 51 4c 69 74 65 2e 5c 73 5c 73 46 6f 72 5c 73 55  QLite.\s\sFor\sU
0ff0: 6e 69 78 45 70 6f 63 68 2c 5c 73 69 74 5c 73 6d  nixEpoch,\sit\sm
1000: 75 73 74 5c 73 62 65 5c 73 61 6e 5c 73 69 6e 74  ust\sbe\san\sint
1010: 65 67 65 72 2e 5c 73 5c 73 46 6f 72 5c 73 4a 75  eger.\s\sFor\sJu
1020: 6c 69 61 6e 44 61 79 2c 5c 73 69 74 5c 73 6d 75  lianDay,\sit\smu
1030: 73 74 5c 73 62 65 5c 73 61 5c 73 64 6f 75 62 6c  st\sbe\sa\sdoubl
1040: 65 2d 70 72 65 63 69 73 69 6f 6e 5c 73 66 6c 6f  e-precision\sflo
1050: 61 74 69 6e 67 2d 70 6f 69 6e 74 5c 73 6e 75 6d  ating-point\snum
1060: 62 65 72 2e 5c 72 5c 6e 5c 72 5c 6e 3c 68 72 5c  ber.\r\n\r\n<hr\
1070: 73 2f 3e 3c 69 3e 61 6e 6f 6e 79 6d 6f 75 73 5c  s/><i>anonymous\
1080: 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32 30 31 31  sadded\son\s2011
1090: 2d 31 32 2d 32 38 5c 73 30 39 3a 34 33 3a 34 33  -12-28\s09:43:43
10a0: 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62 72 5c 73 2f  \sUTC:</i><br\s/
10b0: 3e 5c 72 5c 6e 44 6f 65 73 5c 73 74 68 61 74 5c  >\r\nDoes\sthat\
10c0: 73 6d 65 61 6e 5c 73 74 68 61 74 5c 73 49 5c 73  smean\sthat\sI\s
10d0: 63 61 6e 27 74 5c 73 75 73 65 5c 73 63 6f 6c 75  can't\suse\scolu
10e0: 6d 6e 73 5c 73 6f 66 5c 73 74 79 70 65 5c 73 44  mns\sof\stype\sD
10f0: 61 74 54 69 6d 65 5c 73 3f 5c 72 5c 6e 4a 75 73  atTime\s?\r\nJus
1100: 74 5c 73 74 6f 5c 73 75 73 65 5c 73 74 68 65 5c  t\sto\suse\sthe\
1110: 73 44 61 74 65 54 69 6d 65 46 6f 72 6d 61 74 3d  sDateTimeFormat=
1120: 4a 75 6c 69 61 6e 44 61 79 5c 73 64 6f 65 73 5c  JulianDay\sdoes\
1130: 73 6e 6f 74 5c 73 63 6f 6e 76 65 72 74 5c 73 74  snot\sconvert\st
1140: 68 65 5c 73 75 6e 64 65 72 6c 79 69 6e 67 5c 73  he\sunderlying\s
1150: 64 61 74 61 5c 73 69 6e 5c 73 74 68 65 5c 73 64  data\sin\sthe\sd
1160: 61 74 61 62 61 73 65 2e 5c 73 52 69 67 68 74 5c  atabase.\sRight\
1170: 73 3f 5c 73 44 6f 5c 73 49 5c 73 68 61 76 65 5c  s?\sDo\sI\shave\
1180: 73 74 6f 5c 73 63 6f 6e 76 65 72 74 5c 73 74 68  sto\sconvert\sth
1190: 65 5c 73 64 61 74 61 5c 73 69 6e 5c 73 74 68 65  e\sdata\sin\sthe
11a0: 5c 73 64 61 74 61 62 61 73 65 5c 73 66 69 72 73  \sdatabase\sfirs
11b0: 74 5c 73 62 65 66 6f 72 65 5c 73 77 6f 72 6b 69  t\sbefore\sworki
11c0: 6e 67 5c 73 6f 6e 5c 73 69 74 5c 73 3f 5c 72 5c  ng\son\sit\s?\r\
11d0: 6e 5c 72 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 6d  n\r\n<hr\s/><i>m
11e0: 69 73 74 61 63 68 6b 69 6e 5c 73 61 64 64 65 64  istachkin\sadded
11f0: 5c 73 6f 6e 5c 73 32 30 31 31 2d 31 32 2d 32 39  \son\s2011-12-29
1200: 5c 73 30 31 3a 34 33 3a 31 37 5c 73 55 54 43 3a  \s01:43:17\sUTC:
1210: 3c 2f 69 3e 3c 62 72 5c 73 2f 3e 5c 72 5c 6e 45  </i><br\s/>\r\nE
1220: 66 66 65 63 74 69 76 65 6c 79 2c 5c 73 79 65 73  ffectively,\syes
1230: 2e 5c 73 5c 73 54 68 65 5c 73 44 61 74 65 54 69  .\s\sThe\sDateTi
1240: 6d 65 46 6f 72 6d 61 74 5c 73 70 72 6f 70 65 72  meFormat\sproper
1250: 74 79 5c 73 6f 66 5c 73 74 68 65 5c 73 63 6f 6e  ty\sof\sthe\scon
1260: 6e 65 63 74 69 6f 6e 5c 73 73 74 72 69 6e 67 5c  nection\sstring\
1270: 73 63 6f 6e 74 72 6f 6c 73 5c 73 68 6f 77 5c 73  scontrols\show\s
1280: 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69  System.Data.SQLi
1290: 74 65 5c 73 61 74 74 65 6d 70 74 73 5c 73 74 6f  te\sattempts\sto
12a0: 5c 73 2a 69 6e 74 65 72 70 72 65 74 2a 5c 73 74  \s*interpret*\st
12b0: 68 65 5c 73 61 63 74 75 61 6c 5c 73 64 61 74 61  he\sactual\sdata
12c0: 2e 5c 73 5c 73 49 66 5c 73 79 6f 75 5c 73 77 61  .\s\sIf\syou\swa
12d0: 6e 74 5c 73 74 6f 5c 73 75 73 65 5c 73 4a 75 6c  nt\sto\suse\sJul
12e0: 69 61 6e 44 61 79 5c 73 6f 72 5c 73 55 6e 69 78  ianDay\sor\sUnix
12f0: 45 70 6f 63 68 5c 73 28 6f 72 5c 73 54 69 63 6b  Epoch\s(or\sTick
1300: 73 29 2c 5c 73 74 68 65 5c 73 61 63 74 75 61 6c  s),\sthe\sactual
1310: 5c 73 64 61 74 61 5c 73 69 6e 5c 73 74 68 65 5c  \sdata\sin\sthe\
1320: 73 64 61 74 61 62 61 73 65 5c 73 6d 75 73 74 5c  sdatabase\smust\
1330: 73 62 65 5c 73 63 68 61 6e 67 65 64 5c 73 66 69  sbe\schanged\sfi
1340: 72 73 74 2e 5c 73 5c 73 41 6c 74 65 72 6e 61 74  rst.\s\sAlternat
1350: 69 76 65 6c 79 2c 5c 73 79 6f 75 5c 73 63 61 6e  ively,\syou\scan
1360: 5c 73 75 73 65 5c 73 49 53 4f 38 36 30 31 5c 73  \suse\sISO8601\s
1370: 69 66 5c 73 79 6f 75 72 5c 73 44 61 74 65 54 69  if\syour\sDateTi
1380: 6d 65 5c 73 73 74 72 69 6e 67 73 5c 73 6d 61 74  me\sstrings\smat
1390: 63 68 5c 73 6f 6e 65 5c 73 6f 66 5c 73 74 68 65  ch\sone\sof\sthe
13a0: 5c 73 73 75 70 70 6f 72 74 65 64 5c 73 66 6f 72  \ssupported\sfor
13b0: 6d 61 74 5c 73 73 74 72 69 6e 67 73 2e 5c 72 5c  mat\sstrings.\r\
13c0: 6e 5c 72 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 61  n\r\n<hr\s/><i>a
13d0: 6e 6f 6e 79 6d 6f 75 73 5c 73 61 64 64 65 64 5c  nonymous\sadded\
13e0: 73 6f 6e 5c 73 32 30 31 32 2d 30 31 2d 31 34 5c  son\s2012-01-14\
13f0: 73 30 30 3a 30 31 3a 31 39 5c 73 55 54 43 3a 3c  s00:01:19\sUTC:<
1400: 2f 69 3e 3c 62 72 5c 73 2f 3e 5c 72 5c 6e 74 68  /i><br\s/>\r\nth
1410: 69 73 5c 73 69 73 73 75 65 5c 73 69 73 5c 73 64  is\sissue\sis\sd
1420: 72 69 76 69 6e 5c 73 6d 65 5c 73 6e 75 74 73 5c  rivin\sme\snuts\
1430: 72 5c 6e 5c 72 5c 6e 49 5c 73 74 72 69 65 64 3a  r\n\r\nI\stried:
1440: 5c 72 5c 6e 5c 72 5c 6e 66 69 72 73 74 5c 73 76  \r\n\r\nfirst\sv
1450: 65 72 73 69 6f 6e 5c 72 5c 6e 5c 72 5c 6e 63 6f  ersion\r\n\r\nco
1460: 6e 6e 65 63 74 69 6f 6e 73 74 72 69 6e 67 3a 5c  nnectionstring:\
1470: 73 5c 73 5c 73 44 61 74 65 54 69 6d 65 46 6f 72  s\s\sDateTimeFor
1480: 6d 61 74 3d 5c 73 4a 75 6c 69 61 6e 44 61 79 5c  mat=\sJulianDay\
1490: 72 5c 6e 5c 72 5c 6e 74 61 62 6c 65 5c 73 70 72  r\n\r\ntable\spr
14a0: 6f 64 75 63 74 3a 5c 72 5c 6e 5c 72 5c 6e 63 68  oduct:\r\n\r\nch
14b0: 61 6e 67 65 5f 64 61 74 65 5c 73 5c 73 64 61 74  ange_date\s\sdat
14c0: 65 74 69 6d 65 2c 5c 72 5c 6e 70 72 69 63 65 5c  etime,\r\nprice\
14d0: 73 6e 75 6d 62 65 72 2c 5c 72 5c 6e 6e 61 6d 65  snumber,\r\nname
14e0: 5c 73 76 61 72 63 68 61 72 32 2c 5c 72 5c 6e 69  \svarchar2,\r\ni
14f0: 64 5c 73 69 6e 74 65 67 65 72 5c 72 5c 6e 5c 72  d\sinteger\r\n\r
1500: 5c 6e 66 69 72 73 74 6c 79 2c 5c 73 49 5c 73 64  \nfirstly,\sI\sd
1510: 69 64 3a 5c 72 5c 6e 5c 72 5c 6e 75 70 64 61 74  id:\r\n\r\nupdat
1520: 65 5c 73 70 72 6f 64 75 63 74 5c 73 73 65 74 5c  e\sproduct\sset\
1530: 73 63 68 61 6e 67 65 5f 64 61 74 65 5c 73 3d 5c  schange_date\s=\
1540: 73 32 34 35 35 39 32 38 2e 30 5c 73 5c 73 5c 73  s2455928.0\s\s\s
1550: 5c 73 2f 2f 77 68 69 63 68 5c 73 69 73 5c 73 32  \s//which\sis\s2
1560: 30 31 32 2d 30 31 2d 30 31 5c 73 31 32 3a 30 30  012-01-01\s12:00
1570: 3a 30 30 5c 72 5c 6e 5c 72 5c 6e 74 68 65 6e 3a  :00\r\n\r\nthen:
1580: 5c 72 5c 6e 5c 72 5c 6e 73 71 6c 5c 73 3d 5c 73  \r\n\r\nsql\s=\s
1590: e2 80 9c 73 65 6c 65 63 74 5c 73 63 68 61 6e 67  ...select\schang
15a0: 65 5f 64 61 74 65 2c 5c 73 69 64 2c 5c 73 6e 61  e_date,\sid,\sna
15b0: 6d 65 2c 5c 73 70 72 69 63 65 5c 73 66 72 6f 6d  me,\sprice\sfrom
15c0: 5c 73 70 72 6f 64 75 63 74 e2 80 9d 3b 5c 72 5c  \sproduct...;\r\
15d0: 6e 5c 72 5c 6e 61 64 61 70 74 65 72 5c 73 3d 5c  n\r\nadapter\s=\
15e0: 73 5c 73 6e 65 77 5c 73 53 51 4c 69 74 65 44 61  s\snew\sSQLiteDa
15f0: 74 61 41 64 61 70 74 65 72 28 73 71 6c 2c 5c 73  taAdapter(sql,\s
1600: 64 62 5f 63 6f 6e 29 3b 5c 72 5c 6e 5c 72 5c 6e  db_con);\r\n\r\n
1610: 61 64 61 70 74 65 72 2e 46 69 6c 6c 28 64 73 2c  adapter.Fill(ds,
1620: 5c 73 64 61 74 61 74 61 62 29 3b 5c 72 5c 6e 5c  \sdatatab);\r\n\
1630: 72 5c 6e e2 80 a6 2e 5c 72 5c 6e 5c 72 5c 6e 72  r\n....\r\n\r\nr
1640: 6f 77 5b e2 80 9c 70 72 69 63 65 e2 80 9d 5d 5c  ow[...price...]\
1650: 73 5c 73 2b 3d 5c 73 31 3b 5c 72 5c 6e 5c 72 5c  s\s+=\s1;\r\n\r\
1660: 6e 72 6f 77 5b e2 80 9c 63 68 61 6e 67 65 5f 64  nrow[...change_d
1670: 61 74 65 e2 80 9d 5d 5c 73 5c 73 3d 5c 73 5c 73  ate...]\s\s=\s\s
1680: 44 61 74 65 54 69 6d 65 2e 4e 6f 77 3b 5c 72 5c  DateTime.Now;\r\
1690: 6e 5c 72 5c 6e e2 80 a6 2e 5c 72 5c 6e 5c 72 5c  n\r\n....\r\n\r\
16a0: 6e 61 64 61 70 74 65 72 2e 75 70 64 61 74 65 28  nadapter.update(
16b0: 64 61 74 61 74 61 62 29 3b 5c 73 5c 73 5c 73 5c  datatab);\s\s\s\
16c0: 73 5c 73 3c 2d 5c 73 68 65 72 65 5c 73 74 68 65  s\s<-\shere\sthe
16d0: 5c 73 44 42 43 6f 6e 63 75 72 72 65 6e 63 79 45  \sDBConcurrencyE
16e0: 78 63 65 70 74 69 6f 6e 5c 73 72 61 69 73 65 73  xception\sraises
16f0: 5c 72 5c 6e 5c 72 5c 6e 5f 5f 5f 5f 5f 5f 5f 5f  \r\n\r\n________
1700: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
1710: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
1720: 5f 5f 5f 5f 5f 5f 5f 5c 73 5c 73 5c 73 5c 72 5c  _______\s\s\s\r\
1730: 6e 5c 72 5c 6e 73 65 63 6f 6e 64 5c 73 76 65 72  n\r\nsecond\sver
1740: 73 69 6f 6e 3a 5c 72 5c 6e 5c 72 5c 6e 73 61 6d  sion:\r\n\r\nsam
1750: 65 5c 73 74 61 62 6c 65 3b 5c 72 5c 6e 5c 72 5c  e\stable;\r\n\r\
1760: 6e 63 6f 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e  nconnectionStrin
1770: 67 3a 5c 73 5c 73 5c 73 5c 73 5c 73 44 61 74 65  g:\s\s\s\s\sDate
1780: 54 69 6d 65 46 6f 72 6d 61 74 3d 5c 73 4a 75 6c  TimeFormat=\sJul
1790: 69 61 6e 44 61 79 5c 72 5c 6e 5c 72 5c 6e 75 70  ianDay\r\n\r\nup
17a0: 64 61 74 65 5c 73 70 72 6f 64 75 63 74 5c 73 73  date\sproduct\ss
17b0: 65 74 5c 73 63 68 61 6e 67 65 5f 64 61 74 65 5c  et\schange_date\
17c0: 73 3d 5c 73 32 34 35 35 39 32 38 2e 30 5c 73 5c  s=\s2455928.0\s\
17d0: 73 5c 73 5c 73 2f 2f 77 68 69 63 68 5c 73 69 73  s\s\s//which\sis
17e0: 5c 73 32 30 31 32 2d 30 31 2d 30 31 5c 73 31 32  \s2012-01-01\s12
17f0: 3a 30 30 3a 30 30 5c 72 5c 6e 5c 72 5c 6e 74 68  :00:00\r\n\r\nth
1800: 65 6e 5c 72 5c 6e 5c 72 5c 6e 21 21 5c 73 64 69  en\r\n\r\n!!\sdi
1810: 66 66 65 72 65 6e 63 65 5c 73 21 21 5c 72 5c 6e  fference\s!!\r\n
1820: 5c 72 5c 6e 73 71 6c 5c 73 3d 5c 73 e2 80 9c 73  \r\nsql\s=\s...s
1830: 65 6c 65 63 74 5c 73 6a 75 6c 69 61 6e 64 61 79  elect\sjulianday
1840: 28 63 68 61 6e 67 65 5f 64 61 74 65 29 5c 73 61  (change_date)\sa
1850: 73 5c 73 63 68 61 6e 67 65 5f 64 61 74 65 2c 5c  s\schange_date,\
1860: 73 69 64 2c 5c 73 6e 61 6d 65 2c 5c 73 70 72 69  sid,\sname,\spri
1870: 63 65 5c 73 66 72 6f 6d 5c 73 70 72 6f 64 75 63  ce\sfrom\sproduc
1880: 74 e2 80 9d 3b 5c 72 5c 6e 5c 72 5c 6e 61 64 61  t...;\r\n\r\nada
1890: 70 74 65 72 5c 73 3d 5c 73 5c 73 6e 65 77 5c 73  pter\s=\s\snew\s
18a0: 53 51 4c 69 74 65 44 61 74 61 41 64 61 70 74 65  SQLiteDataAdapte
18b0: 72 28 73 71 6c 2c 5c 73 64 62 5f 63 6f 6e 29 3b  r(sql,\sdb_con);
18c0: 5c 72 5c 6e 5c 72 5c 6e 61 64 61 70 74 65 72 2e  \r\n\r\nadapter.
18d0: 46 69 6c 6c 28 64 73 2c 5c 73 64 61 74 61 74 61  Fill(ds,\sdatata
18e0: 62 29 3b 5c 72 5c 6e 5c 72 5c 6e e2 80 a6 2e 5c  b);\r\n\r\n....\
18f0: 72 5c 6e 5c 72 5c 6e 72 6f 77 5b e2 80 9c 70 72  r\n\r\nrow[...pr
1900: 69 63 65 e2 80 9d 5d 5c 73 5c 73 2b 3d 5c 73 31  ice...]\s\s+=\s1
1910: 2e 30 3b 5c 72 5c 6e 5c 72 5c 6e 2f 2f 5c 73 69  .0;\r\n\r\n//\si
1920: 6e 5c 73 66 61 63 74 5c 73 6e 6f 77 5c 73 74 68  n\sfact\snow\sth
1930: 65 5c 73 63 6f 6c 75 6d 6e 5c 73 69 73 5c 73 6f  e\scolumn\sis\so
1940: 66 5c 73 74 79 70 65 5c 73 53 79 73 74 65 6d 2e  f\stype\sSystem.
1950: 44 6f 75 62 6c 65 5c 72 5c 6e 5c 72 5c 6e 72 6f  Double\r\n\r\nro
1960: 77 5b e2 80 9c 63 68 61 6e 67 65 5f 64 61 74 65  w[...change_date
1970: e2 80 9d 5d 5c 73 5c 73 3d 5c 73 5c 73 28 64 6f  ...]\s\s=\s\s(do
1980: 75 62 6c 65 29 72 6f 77 5b e2 80 9c 63 68 61 6e  uble)row[...chan
1990: 67 65 5f 64 61 74 65 e2 80 9d 5d 5c 73 5c 73 2b  ge_date...]\s\s+
19a0: 5c 73 31 2e 30 3b 5c 72 5c 6e 5c 72 5c 6e e2 80  \s1.0;\r\n\r\n..
19b0: a6 2e 5c 72 5c 6e 5c 72 5c 6e 61 64 61 70 74 65  ..\r\n\r\nadapte
19c0: 72 2e 75 70 64 61 74 65 28 64 61 74 61 74 61 62  r.update(datatab
19d0: 29 3b 5c 72 5c 6e 5c 72 5c 6e 6e 6f 5c 73 65 78  );\r\n\r\nno\sex
19e0: 63 65 70 74 69 6f 6e 5c 73 72 61 69 73 65 73 2c  ception\sraises,
19f0: 5c 73 62 75 74 5c 73 77 68 61 74 5c 73 68 61 70  \sbut\swhat\shap
1a00: 70 65 6e 73 5c 73 69 73 3a 5c 72 5c 6e 5c 72 5c  pens\sis:\r\n\r\
1a10: 6e 74 68 65 5c 73 70 72 69 63 65 5c 73 63 6f 6c  nthe\sprice\scol
1a20: 75 6d 6e 5c 73 69 73 5c 73 75 70 64 61 74 65 64  umn\sis\supdated
1a30: 2c 5c 73 74 68 65 5c 73 44 61 74 65 54 69 6d 65  ,\sthe\sDateTime
1a40: 2d 43 6f 6c 75 6d 6e 5c 73 69 73 5c 73 6e 6f 74  -Column\sis\snot
1a50: 5c 73 5c 73 21 5c 72 5c 6e 5c 72 5c 6e 57 68 61  \s\s!\r\n\r\nWha
1a60: 74 27 73 5c 73 77 72 6f 6e 67 5c 73 3f 5c 72 5c  t's\swrong\s?\r\
1a70: 6e 5c 72 5c 6e 5c 72 5c 6e 3c 68 72 5c 73 2f 3e  n\r\n\r\n<hr\s/>
1a80: 3c 69 3e 6d 69 73 74 61 63 68 6b 69 6e 5c 73 61  <i>mistachkin\sa
1a90: 64 64 65 64 5c 73 6f 6e 5c 73 32 30 31 32 2d 30  dded\son\s2012-0
1aa0: 31 2d 31 34 5c 73 30 33 3a 30 30 3a 34 35 5c 73  1-14\s03:00:45\s
1ab0: 55 54 43 3a 3c 2f 69 3e 3c 62 72 5c 73 2f 3e 5c  UTC:</i><br\s/>\
1ac0: 72 5c 6e 3c 76 65 72 62 61 74 69 6d 3e 5c 72 5c  r\n<verbatim>\r\
1ad0: 6e 49 6e 73 74 65 61 64 5c 73 6f 66 3a 5c 72 5c  nInstead\sof:\r\
1ae0: 6e 5c 72 5c 6e 72 6f 77 5b 22 63 68 61 6e 67 65  n\r\nrow["change
1af0: 5f 64 61 74 65 22 5d 5c 73 3d 5c 73 44 61 74 65  _date"]\s=\sDate
1b00: 54 69 6d 65 2e 4e 6f 77 3b 5c 72 5c 6e 5c 72 5c  Time.Now;\r\n\r\
1b10: 6e 54 72 79 3a 5c 72 5c 6e 5c 72 5c 6e 72 6f 77  nTry:\r\n\r\nrow
1b20: 5b 22 63 68 61 6e 67 65 5f 64 61 74 65 22 5d 5c  ["change_date"]\
1b30: 73 3d 5c 73 53 51 4c 69 74 65 43 6f 6e 76 65 72  s=\sSQLiteConver
1b40: 74 2e 54 6f 4a 75 6c 69 61 6e 44 61 79 28 44 61  t.ToJulianDay(Da
1b50: 74 65 54 69 6d 65 2e 4e 6f 77 29 3b 5c 72 5c 6e  teTime.Now);\r\n
1b60: 3c 2f 76 65 72 62 61 74 69 6d 3e 5c 72 5c 6e 5c  </verbatim>\r\n\
1b70: 72 5c 6e 5c 72 5c 6e 3c 68 72 5c 73 2f 3e 3c 69  r\n\r\n<hr\s/><i
1b80: 3e 61 6e 6f 6e 79 6d 6f 75 73 5c 73 61 64 64 65  >anonymous\sadde
1b90: 64 5c 73 6f 6e 5c 73 32 30 31 32 2d 30 31 2d 31  d\son\s2012-01-1
1ba0: 34 5c 73 31 34 3a 32 37 3a 33 33 5c 73 55 54 43  4\s14:27:33\sUTC
1bb0: 3a 3c 2f 69 3e 3c 62 72 5c 73 2f 3e 5c 72 5c 6e  :</i><br\s/>\r\n
1bc0: 72 6f 77 5b 22 63 68 61 6e 67 65 5f 64 61 74 65  row["change_date
1bd0: 22 5d 5c 73 3d 5c 73 53 51 4c 69 74 65 43 6f 6e  "]\s=\sSQLiteCon
1be0: 76 65 72 74 2e 54 6f 4a 75 6c 69 61 6e 44 61 79  vert.ToJulianDay
1bf0: 28 44 61 74 65 54 69 6d 65 2e 4e 6f 77 29 3b 5c  (DateTime.Now);\
1c00: 72 5c 6e 5c 72 5c 6e 3d 3e 5c 73 63 6f 6d 70 69  r\n\r\n=>\scompi
1c10: 6c 65 72 5c 73 73 61 79 73 3a 5c 72 5c 6e 5c 72  ler\ssays:\r\n\r
1c20: 5c 6e 41 6e 5c 73 6f 62 6a 65 63 74 5c 73 72 65  \nAn\sobject\sre
1c30: 66 65 72 65 6e 63 65 5c 73 69 73 5c 73 72 65 71  ference\sis\sreq
1c40: 75 69 72 65 64 5c 73 66 6f 72 5c 73 74 68 65 5c  uired\sfor\sthe\
1c50: 73 6e 6f 6e 2d 73 74 61 74 69 63 5c 73 66 69 65  snon-static\sfie
1c60: 6c 64 2c 5c 73 6d 65 74 68 6f 64 2c 5c 73 6f 72  ld,\smethod,\sor
1c70: 5c 73 70 72 6f 70 65 72 74 79 5c 73 27 53 79 73  \sproperty\s'Sys
1c80: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e  tem.Data.SQLite.
1c90: 53 51 4c 69 74 65 43 6f 6e 76 65 72 74 2e 54 6f  SQLiteConvert.To
1ca0: 4a 75 6c 69 61 6e 44 61 79 28 53 79 73 74 65 6d  JulianDay(System
1cb0: 2e 44 61 74 65 54 69 6d 65 29 27 5c 72 5c 6e 5c  .DateTime)'\r\n\
1cc0: 72 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 6d 69 73  r\n<hr\s/><i>mis
1cd0: 74 61 63 68 6b 69 6e 5c 73 61 64 64 65 64 5c 73  tachkin\sadded\s
1ce0: 6f 6e 5c 73 32 30 31 32 2d 30 31 2d 31 35 5c 73  on\s2012-01-15\s
1cf0: 30 31 3a 30 31 3a 32 32 5c 73 55 54 43 3a 3c 2f  01:01:22\sUTC:</
1d00: 69 3e 3c 62 72 5c 73 2f 3e 5c 72 5c 6e 4f 6b 2c  i><br\s/>\r\nOk,
1d10: 5c 73 74 68 61 74 5c 73 69 73 5c 73 61 6e 5c 73  \sthat\sis\san\s
1d20: 69 73 73 75 65 5c 73 62 65 63 61 75 73 65 5c 73  issue\sbecause\s
1d30: 74 68 6f 73 65 5c 73 74 79 70 65 5c 73 63 6f 6e  those\stype\scon
1d40: 76 65 72 73 69 6f 6e 5c 73 6d 65 74 68 6f 64 73  version\smethods
1d50: 5c 73 73 68 6f 75 6c 64 5c 73 62 65 5c 73 73 74  \sshould\sbe\sst
1d60: 61 74 69 63 5c 73 61 73 5c 73 74 68 65 79 5c 73  atic\sas\sthey\s
1d70: 64 6f 5c 73 6e 6f 74 5c 73 6e 65 65 64 5c 73 61  do\snot\sneed\sa
1d80: 6e 79 5c 73 69 6e 73 74 61 6e 63 65 5c 73 64 61  ny\sinstance\sda
1d90: 74 61 2e 5c 72 5c 6e 5c 72 5c 6e 3c 68 72 5c 73  ta.\r\n\r\n<hr\s
1da0: 2f 3e 3c 69 3e 6d 69 73 74 61 63 68 6b 69 6e 5c  /><i>mistachkin\
1db0: 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32 30 31 32  sadded\son\s2012
1dc0: 2d 30 31 2d 31 35 5c 73 30 31 3a 32 38 3a 31 37  -01-15\s01:28:17
1dd0: 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62 72 5c 73 2f  \sUTC:</i><br\s/
1de0: 3e 5c 72 5c 6e 43 68 61 6e 67 65 64 5c 73 74 6f  >\r\nChanged\sto
1df0: 5c 73 73 74 61 74 69 63 5c 73 62 79 5c 73 63 68  \sstatic\sby\sch
1e00: 65 63 6b 2d 69 6e 5c 73 5b 31 31 34 30 32 34 66  eck-in\s[114024f
1e10: 66 65 37 5d 2c 5c 73 77 69 74 68 5c 73 74 65 73  fe7],\swith\stes
1e20: 74 73 2e 5c 72 5c 6e 5c 72 5c 6e 5c 72 5c 6e 3c  ts.\r\n\r\n\r\n<
1e30: 68 72 5c 73 2f 3e 3c 69 3e 61 6e 6f 6e 79 6d 6f  hr\s/><i>anonymo
1e40: 75 73 5c 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32  us\sadded\son\s2
1e50: 30 31 32 2d 30 31 2d 31 35 5c 73 31 39 3a 30 34  012-01-15\s19:04
1e60: 3a 30 37 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62 72  :07\sUTC:</i><br
1e70: 5c 73 2f 3e 5c 72 5c 6e 63 6f 6e 6e 65 63 74 69  \s/>\r\nconnecti
1e80: 6f 6e 73 74 72 69 6e 67 3a 5c 73 44 61 74 65 54  onstring:\sDateT
1e90: 69 6d 65 46 6f 72 6d 61 74 3d 5c 73 4a 75 6c 69  imeFormat=\sJuli
1ea0: 61 6e 44 61 79 5c 72 5c 6e 5c 72 5c 6e 75 70 64  anDay\r\n\r\nupd
1eb0: 61 74 65 5c 73 70 72 6f 64 75 63 74 5c 73 73 65  ate\sproduct\sse
1ec0: 74 5c 73 63 68 61 6e 67 65 5f 64 61 74 65 5c 73  t\schange_date\s
1ed0: 3d 5c 73 32 34 35 35 39 32 38 2e 30 5c 73 5c 73  =\s2455928.0\s\s
1ee0: 5c 73 5c 73 2f 2f 5c 73 77 68 69 63 68 5c 73 69  \s\s//\swhich\si
1ef0: 73 5c 73 32 30 31 32 2d 30 31 2d 30 31 5c 73 31  s\s2012-01-01\s1
1f00: 32 3a 30 30 3a 30 30 5c 72 5c 6e 5c 72 5c 6e 63  2:00:00\r\n\r\nc
1f10: 68 61 6e 67 65 5f 64 61 74 65 5c 73 69 73 5c 73  hange_date\sis\s
1f20: 6f 66 5c 73 74 79 70 65 5c 73 44 61 74 65 54 69  of\stype\sDateTi
1f30: 6d 65 5c 73 21 5c 72 5c 6e 5c 72 5c 6e 2d 2d 2d  me\s!\r\n\r\n---
1f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 73 5c  -------------\s\
1f50: 72 5c 6e 5c 72 5c 6e 73 71 6c 5c 73 3d 5c 73 e2  r\n\r\nsql\s=\s.
1f60: 80 9c 73 65 6c 65 63 74 5c 73 63 68 61 6e 67 65  ..select\schange
1f70: 5f 64 61 74 65 2c 5c 73 70 72 69 63 65 2c 5c 73  _date,\sprice,\s
1f80: 2e 2e 2e 2e e2 80 9d 3b 5c 72 5c 6e 5c 72 5c 6e  .......;\r\n\r\n
1f90: 61 64 61 70 74 65 72 5c 73 3d 5c 73 6e 65 77 5c  adapter\s=\snew\
1fa0: 73 53 51 4c 69 74 65 44 61 74 61 41 64 61 70 74  sSQLiteDataAdapt
1fb0: 65 72 28 73 71 6c 2c 5c 73 64 62 5f 63 6f 6e 29  er(sql,\sdb_con)
1fc0: 3b 5c 72 5c 6e 5c 72 5c 6e 61 64 61 70 74 65 72  ;\r\n\r\nadapter
1fd0: 2e 46 69 6c 6c 28 64 73 2c 5c 73 64 61 74 61 74  .Fill(ds,\sdatat
1fe0: 61 62 29 3b 5c 72 5c 6e 5c 72 5c 6e e2 80 a6 2e  ab);\r\n\r\n....
1ff0: 5c 72 5c 6e 5c 72 5c 6e 72 6f 77 5b 5b 70 72 69  \r\n\r\nrow[[pri
2000: 63 65 5d 5d 5c 73 2b 3d 5c 73 31 3b 5c 72 5c 6e  ce]]\s+=\s1;\r\n
2010: 5c 72 5c 6e 72 6f 77 5b 5b 63 68 61 6e 67 65 5f  \r\nrow[[change_
2020: 64 61 74 65 5d 5d 5c 73 3d 5c 73 53 51 4c 69 74  date]]\s=\sSQLit
2030: 65 43 6f 6e 76 65 72 74 2e 54 6f 4a 75 6c 69 61  eConvert.ToJulia
2040: 6e 44 61 79 28 44 61 74 65 54 69 6d 65 2e 4e 6f  nDay(DateTime.No
2050: 77 29 3b 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 3c  w);\s\s\s\s\s\s<
2060: 2d 5c 73 5c 72 5c 6e 5c 72 5c 6e 54 79 70 65 43  -\s\r\n\r\nTypeC
2070: 6f 6e 76 65 72 69 6f 6e 45 78 63 65 70 74 69 6f  onverionExceptio
2080: 6e 5c 73 72 61 69 73 65 73 2c 5c 72 5c 6e 5c 72  n\sraises,\r\n\r
2090: 5c 6e 77 68 69 63 68 5c 73 69 73 5c 73 63 6c 65  \nwhich\sis\scle
20a0: 61 72 2c 5c 73 62 65 63 61 75 73 65 3a 5c 72 5c  ar,\sbecause:\r\
20b0: 6e 5c 72 5c 6e 74 68 65 5c 73 6f 72 69 67 69 6e  n\r\nthe\sorigin
20c0: 61 6c 5c 73 53 51 4c 69 74 65 5c 73 74 61 62 6c  al\sSQLite\stabl
20d0: 65 2d 63 6f 6c 75 6d 6e 5c 73 69 73 5c 73 6f 66  e-column\sis\sof
20e0: 5c 73 74 79 70 65 5c 73 44 61 74 65 54 69 6d 65  \stype\sDateTime
20f0: 2c 5c 72 5c 6e 74 68 65 6e 5c 73 74 68 65 5c 73  ,\r\nthen\sthe\s
2100: 41 44 4f 2d 74 61 62 6c 65 5c 73 69 73 5c 73 61  ADO-table\sis\sa
2110: 6c 73 6f 5c 73 6f 66 5c 73 74 79 70 65 5c 73 53  lso\sof\stype\sS
2120: 79 73 74 65 6d 2e 44 61 74 65 54 69 6d 65 2c 5c  ystem.DateTime,\
2130: 73 74 6f 5c 73 77 68 69 63 68 5c 73 77 65 5c 73  sto\swhich\swe\s
2140: 77 61 6e 74 5c 73 74 6f 5c 73 61 73 73 69 67 6e  want\sto\sassign
2150: 5c 73 61 5c 73 64 6f 75 62 6c 65 2e 5c 72 5c 6e  \sa\sdouble.\r\n
2160: 5c 72 5c 6e 53 79 73 74 65 6d 2e 41 72 67 75 6d  \r\nSystem.Argum
2170: 65 6e 74 45 78 63 65 70 74 69 6f 6e 3a 5c 73 69  entException:\si
2180: 6e 76 61 6c 69 64 5c 73 74 79 70 65 5c 73 63 6f  nvalid\stype\sco
2190: 6e 76 65 72 73 69 6f 6e 5c 73 22 44 6f 75 62 6c  nversion\s"Doubl
21a0: 65 22 5c 73 74 6f 5c 73 22 44 61 74 65 54 69 6d  e"\sto\s"DateTim
21b0: 65 22 2e 3c 32 34 35 35 39 34 31 2c 39 33 32 30  e".<2455941,9320
21c0: 34 31 33 39 3e 5c 73 63 61 6e 6e 6f 74 5c 73 62  4139>\scannot\sb
21d0: 65 5c 73 73 61 76 65 64 5c 73 74 6f 5c 73 43 48  e\ssaved\sto\sCH
21e0: 41 4e 47 45 5f 44 41 54 45 5c 73 63 6f 6c 75 6d  ANGE_DATE\scolum
21f0: 6e 2e 5c 72 5c 6e 45 78 70 65 63 74 65 64 5c 73  n.\r\nExpected\s
2200: 74 79 70 65 3a 5c 73 44 61 74 65 54 69 6d 65 2e  type:\sDateTime.
2210: 5c 73 2d 2d 2d 3e 5c 73 53 79 73 74 65 6d 2e 49  \s--->\sSystem.I
2220: 6e 76 61 6c 69 64 43 61 73 74 45 78 63 65 70 74  nvalidCastExcept
2230: 69 6f 6e 3a 5c 73 69 6e 76 61 6c 69 64 5c 73 63  ion:\sinvalid\sc
2240: 6f 6e 76 65 72 73 69 6f 6e 5c 73 22 44 6f 75 62  onversion\s"Doub
2250: 6c 65 22 5c 73 74 6f 5c 73 22 44 61 74 65 54 69  le"\sto\s"DateTi
2260: 6d 65 22 2e 5c 72 5c 6e 5c 72 5c 6e 5c 72 5c 6e  me".\r\n\r\n\r\n
2270: 3c 68 72 5c 73 2f 3e 3c 69 3e 6d 69 73 74 61 63  <hr\s/><i>mistac
2280: 68 6b 69 6e 5c 73 61 64 64 65 64 5c 73 6f 6e 5c  hkin\sadded\son\
2290: 73 32 30 31 32 2d 30 31 2d 31 36 5c 73 30 31 3a  s2012-01-16\s01:
22a0: 30 30 3a 30 39 5c 73 55 54 43 3a 3c 2f 69 3e 3c  00:09\sUTC:</i><
22b0: 62 72 5c 73 2f 3e 5c 72 5c 6e 49 5c 73 66 6f 72  br\s/>\r\nI\sfor
22c0: 67 6f 74 5c 73 74 68 61 74 5c 73 74 68 65 5c 73  got\sthat\sthe\s
22d0: 6e 65 63 65 73 73 61 72 79 5c 73 63 6f 6e 76 65  necessary\sconve
22e0: 72 73 69 6f 6e 73 5c 73 68 61 70 70 65 6e 5c 73  rsions\shappen\s
22f0: 69 6e 74 65 72 6e 61 6c 6c 79 2e 5c 73 5c 73 48  internally.\s\sH
2300: 65 72 65 5c 73 69 73 5c 73 61 6e 5c 73 3c 61 5c  ere\sis\san\s<a\
2310: 73 68 72 65 66 3d 22 2f 69 6e 64 65 78 2e 68 74  shref="/index.ht
2320: 6d 6c 2f 61 72 74 69 66 61 63 74 3f 63 69 3d 74  ml/artifact?ci=t
2330: 69 70 26 66 69 6c 65 6e 61 6d 65 3d 54 65 73 74  ip&filename=Test
2340: 73 2f 74 6b 74 2d 33 34 33 64 33 39 32 62 35 31  s/tkt-343d392b51
2350: 2e 65 61 67 6c 65 26 6c 6e 3d 31 39 35 2d 32 39  .eagle&ln=195-29
2360: 37 22 3e 65 78 61 6d 70 6c 65 3c 2f 61 3e 2e 5c  7">example</a>.\
2370: 73 5c 73 42 61 73 69 63 61 6c 6c 79 2c 5c 73 74  s\sBasically,\st
2380: 68 69 73 5c 73 6d 65 61 6e 73 5c 73 74 68 65 5c  his\smeans\sthe\
2390: 73 73 74 61 74 65 6d 65 6e 74 5c 73 73 68 6f 75  sstatement\sshou
23a0: 6c 64 5c 73 61 63 74 75 61 6c 6c 79 5c 73 62 65  ld\sactually\sbe
23b0: 5c 73 73 6f 6d 65 74 68 69 6e 67 5c 73 6c 69 6b  \ssomething\slik
23c0: 65 3a 5c 72 5c 6e 3c 76 65 72 62 61 74 69 6d 3e  e:\r\n<verbatim>
23d0: 72 6f 77 5b 22 63 68 61 6e 67 65 5f 64 61 74 65  row["change_date
23e0: 22 5d 5c 73 3d 5c 73 44 61 74 65 54 69 6d 65 2e  "]\s=\sDateTime.
23f0: 4e 6f 77 2e 54 6f 53 74 72 69 6e 67 28 22 79 79  Now.ToString("yy
2400: 79 79 2d 4d 4d 2d 64 64 5c 73 48 48 3a 6d 6d 3a  yy-MM-dd\sHH:mm:
2410: 73 73 2e 46 46 46 46 46 46 46 4b 22 29 3b 3c 2f  ss.FFFFFFFK");</
2420: 76 65 72 62 61 74 69 6d 3e 5c 72 5c 6e 5c 72 5c  verbatim>\r\n\r\
2430: 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 61 6e 6f 6e 79  n<hr\s/><i>anony
2440: 6d 6f 75 73 5c 73 61 64 64 65 64 5c 73 6f 6e 5c  mous\sadded\son\
2450: 73 32 30 31 32 2d 30 31 2d 31 38 5c 73 32 31 3a  s2012-01-18\s21:
2460: 30 37 3a 35 38 5c 73 55 54 43 3a 3c 2f 69 3e 3c  07:58\sUTC:</i><
2470: 62 72 5c 73 2f 3e 5c 72 5c 6e 49 5c 73 73 74 69  br\s/>\r\nI\ssti
2480: 6c 6c 5c 73 68 61 76 65 5c 73 74 68 65 5c 73 44  ll\shave\sthe\sD
2490: 42 43 6f 6e 63 75 72 72 65 6e 63 79 45 78 63 65  BConcurrencyExce
24a0: 70 74 69 6f 6e 5c 73 69 73 73 75 65 2e 5c 72 5c  ption\sissue.\r\
24b0: 6e 5c 72 5c 6e 49 5c 73 6e 6f 77 5c 73 75 73 65  n\r\nI\snow\suse
24c0: 5c 73 44 61 74 65 54 69 6d 65 46 6f 72 6d 61 74  \sDateTimeFormat
24d0: 3d 4a 75 6c 69 61 6e 44 61 79 5c 73 61 73 5c 73  =JulianDay\sas\s
24e0: 79 6f 75 5c 73 72 65 63 6f 6d 6d 65 6e 64 65 64  you\srecommended
24f0: 2e 5c 72 5c 6e 49 5c 73 63 6f 6e 76 65 72 74 65  .\r\nI\sconverte
2500: 64 5c 73 74 68 65 5c 73 64 61 74 61 5c 73 74 6f  d\sthe\sdata\sto
2510: 5c 73 66 6c 6f 61 74 73 5c 73 61 73 5c 73 64 65  \sfloats\sas\sde
2520: 73 63 72 69 62 65 64 3a 5c 72 5c 6e 75 70 64 61  scribed:\r\nupda
2530: 74 65 5c 73 70 72 6f 64 75 63 74 5c 73 73 65 74  te\sproduct\sset
2540: 5c 73 63 68 61 6e 67 65 5f 64 61 74 65 5c 73 3d  \schange_date\s=
2550: 5c 73 32 34 35 35 39 32 38 2e 30 5c 73 2f 2f 5c  \s2455928.0\s//\
2560: 73 77 68 69 63 68 5c 73 69 73 5c 73 32 30 31 32  swhich\sis\s2012
2570: 2d 30 31 2d 30 31 5c 73 31 32 3a 30 30 3a 30 30  -01-01\s12:00:00
2580: 5c 73 5c 72 5c 6e 5c 72 5c 6e 49 5c 73 6e 6f 77  \s\r\n\r\nI\snow
2590: 5c 73 75 73 65 3a 5c 72 5c 6e 72 6f 77 5b 22 63  \suse:\r\nrow["c
25a0: 68 61 6e 67 65 5f 64 61 74 65 22 5d 5c 73 3d 5c  hange_date"]\s=\
25b0: 73 44 61 74 65 54 69 6d 65 2e 4e 6f 77 2e 54 6f  sDateTime.Now.To
25c0: 53 74 72 69 6e 67 28 22 79 79 79 79 2d 4d 4d 2d  String("yyyy-MM-
25d0: 64 64 5c 73 48 48 3a 6d 6d 3a 73 73 2e 46 46 46  dd\sHH:mm:ss.FFF
25e0: 46 46 46 46 4b 22 29 3b 5c 72 5c 6e 5c 72 5c 6e  FFFFK");\r\n\r\n
25f0: 62 75 74 5c 73 74 68 65 5c 73 44 42 43 6f 6e 63  but\sthe\sDBConc
2600: 75 72 72 65 6e 63 79 45 78 63 65 70 74 69 6f 6e  urrencyException
2610: 5c 73 73 74 69 6c 6c 5c 73 72 61 69 73 65 73 5c  \sstill\sraises\
2620: 73 28 6e 6f 74 5c 73 65 76 65 72 79 74 69 6d 65  s(not\severytime
2630: 2c 5c 73 62 75 74 5c 73 6d 6f 73 74 5c 73 6f 66  ,\sbut\smost\sof
2640: 74 65 6e 29 5c 73 5c 72 5c 6e 5c 72 5c 6e 3c 68  ten)\s\r\n\r\n<h
2650: 72 5c 73 2f 3e 3c 69 3e 61 6e 6f 6e 79 6d 6f 75  r\s/><i>anonymou
2660: 73 5c 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32 30  s\sadded\son\s20
2670: 31 32 2d 30 32 2d 30 33 5c 73 30 36 3a 35 36 3a  12-02-03\s06:56:
2680: 31 37 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62 72 5c  17\sUTC:</i><br\
2690: 73 2f 3e 5c 72 5c 6e 44 69 64 5c 73 79 6f 75 5c  s/>\r\nDid\syou\
26a0: 73 73 65 65 5c 73 6d 79 5c 73 6c 61 73 74 5c 73  ssee\smy\slast\s
26b0: 63 6f 6d 6d 65 6e 74 5c 73 3f 5c 73 54 68 65 5c  comment\s?\sThe\
26c0: 73 69 73 73 75 65 5c 73 73 74 69 6c 6c 5c 73 65  sissue\sstill\se
26d0: 78 69 73 74 73 2e 5c 72 5c 6e 49 5c 73 74 65 73  xists.\r\nI\stes
26e0: 74 65 64 5c 73 77 69 74 68 5c 73 31 2e 30 2e 37  ted\swith\s1.0.7
26f0: 39 2e 30 5c 73 2d 5c 73 6e 6f 5c 73 63 68 61 6e  9.0\s-\sno\schan
2700: 67 65 73 2e 5c 72 5c 6e 49 5c 73 74 68 69 6e 6b  ges.\r\nI\sthink
2710: 5c 73 69 74 27 73 5c 73 61 5c 73 64 65 65 70 65  \sit's\sa\sdeepe
2720: 72 5c 73 70 72 6f 62 6c 65 6d 2c 5c 73 70 72 6f  r\sproblem,\spro
2730: 62 61 62 6c 79 5c 73 6c 69 6e 6b 65 64 5c 73 74  bably\slinked\st
2740: 6f 5c 73 5b 64 37 36 62 34 30 39 64 30 37 5d 5c  o\s[d76b409d07]\
2750: 72 5c 6e 57 68 61 74 5c 73 63 61 6e 5c 73 49 5c  r\nWhat\scan\sI\
2760: 73 64 6f 5c 73 3f 5c 72 5c 6e 5c 72 5c 6e 3c 68  sdo\s?\r\n\r\n<h
2770: 72 5c 73 2f 3e 3c 69 3e 6d 69 73 74 61 63 68 6b  r\s/><i>mistachk
2780: 69 6e 5c 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32  in\sadded\son\s2
2790: 30 31 32 2d 30 32 2d 30 33 5c 73 31 33 3a 34 36  012-02-03\s13:46
27a0: 3a 31 36 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62 72  :16\sUTC:</i><br
27b0: 5c 73 2f 3e 5c 72 5c 6e 49 27 6d 5c 73 73 74 69  \s/>\r\nI'm\ssti
27c0: 6c 6c 5c 73 75 6e 61 62 6c 65 5c 73 74 6f 5c 73  ll\sunable\sto\s
27d0: 72 65 70 72 6f 64 75 63 65 5c 73 74 68 65 5c 73  reproduce\sthe\s
27e0: 70 72 6f 62 6c 65 6d 5c 73 61 74 5c 73 61 6c 6c  problem\sat\sall
27f0: 5c 73 68 65 72 65 2e 5c 73 5c 73 4f 6e 65 5c 73  \shere.\s\sOne\s
2800: 74 68 69 6e 67 5c 73 74 6f 5c 73 74 72 79 5c 73  thing\sto\stry\s
2810: 28 75 73 69 6e 67 5c 73 74 68 65 5c 73 6c 61 74  (using\sthe\slat
2820: 65 73 74 5c 73 63 68 65 63 6b 65 64 2d 69 6e 5c  est\schecked-in\
2830: 73 63 6f 64 65 2c 5c 73 6e 6f 74 5c 73 31 2e 30  scode,\snot\s1.0
2840: 2e 37 39 2e 30 29 5c 73 69 73 5c 73 74 6f 5c 73  .79.0)\sis\sto\s
2850: 73 65 74 5c 73 74 68 65 5c 73 46 6c 61 67 73 5c  set\sthe\sFlags\
2860: 73 70 72 6f 70 65 72 74 79 5c 73 6f 66 5c 73 74  sproperty\sof\st
2870: 68 65 5c 73 53 51 4c 69 74 65 43 6f 6e 6e 65 63  he\sSQLiteConnec
2880: 74 69 6f 6e 5c 73 6f 62 6a 65 63 74 5c 73 74 6f  tion\sobject\sto
2890: 5c 73 4c 6f 67 50 72 65 70 61 72 65 5c 73 61 6e  \sLogPrepare\san
28a0: 64 5c 73 74 68 65 6e 5c 73 77 61 74 63 68 5c 73  d\sthen\swatch\s
28b0: 74 68 65 5c 73 74 72 61 63 65 5c 73 6f 75 74 70  the\strace\soutp
28c0: 75 74 5c 73 74 6f 5c 73 73 65 65 5c 73 77 68 61  ut\sto\ssee\swha
28d0: 74 5c 73 53 51 4c 5c 73 73 74 61 74 65 6d 65 6e  t\sSQL\sstatemen
28e0: 74 5c 73 69 73 5c 73 72 65 74 75 72 6e 69 6e 67  t\sis\sreturning
28f0: 5c 73 7a 65 72 6f 5c 73 72 65 63 6f 72 64 73 2e  \szero\srecords.
2900: 5c 73 5c 73 54 68 65 6e 2c 5c 73 61 64 64 5c 73  \s\sThen,\sadd\s
2910: 74 68 61 74 5c 73 53 51 4c 5c 73 73 74 61 74 65  that\sSQL\sstate
2920: 6d 65 6e 74 5c 73 74 6f 5c 73 74 68 69 73 5c 73  ment\sto\sthis\s
2930: 74 69 63 6b 65 74 5c 73 73 6f 5c 73 49 5c 73 63  ticket\sso\sI\sc
2940: 61 6e 5c 73 66 69 67 75 72 65 5c 73 6f 75 74 5c  an\sfigure\sout\
2950: 73 77 68 65 72 65 5c 73 74 68 69 6e 67 73 5c 73  swhere\sthings\s
2960: 61 72 65 5c 73 67 6f 69 6e 67 5c 73 77 72 6f 6e  are\sgoing\swron
2970: 67 2e 5c 72 5c 6e 5c 72 5c 6e 5c 72 5c 6e 3c 68  g.\r\n\r\n\r\n<h
2980: 72 5c 73 2f 3e 3c 69 3e 61 6e 6f 6e 79 6d 6f 75  r\s/><i>anonymou
2990: 73 5c 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32 30  s\sadded\son\s20
29a0: 31 32 2d 30 32 2d 30 35 5c 73 32 33 3a 30 32 3a  12-02-05\s23:02:
29b0: 34 33 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62 72 5c  43\sUTC:</i><br\
29c0: 73 2f 3e 5c 72 5c 6e 6f 6b 2c 5c 73 77 69 6c 6c  s/>\r\nok,\swill
29d0: 5c 73 64 6f 2e 5c 72 5c 6e 66 6f 72 5c 73 74 68  \sdo.\r\nfor\sth
29e0: 65 5c 73 66 69 72 73 74 5c 73 74 68 65 5c 73 65  e\sfirst\sthe\se
29f0: 78 63 65 70 74 69 6f 6e 5c 73 69 6e 5c 73 64 65  xception\sin\sde
2a00: 74 61 69 6c 3a 5c 72 5c 6e 5c 72 5c 6e 65 2e 53  tail:\r\n\r\ne.S
2a10: 6f 75 72 63 65 3a 5c 72 5c 6e 53 79 73 74 65 6d  ource:\r\nSystem
2a20: 2e 44 61 74 61 5c 72 5c 6e 5c 72 5c 6e 65 2e 44  .Data\r\n\r\ne.D
2a30: 61 74 61 3a 5c 72 5c 6e 53 79 73 74 65 6d 2e 43  ata:\r\nSystem.C
2a40: 6f 6c 6c 65 63 74 69 6f 6e 73 2e 4c 69 73 74 44  ollections.ListD
2a50: 69 63 74 69 6f 6e 61 72 79 49 6e 74 65 72 6e 61  ictionaryInterna
2a60: 6c 5c 72 5c 6e 5c 72 5c 6e 65 2e 53 74 61 63 6b  l\r\n\r\ne.Stack
2a70: 54 72 61 63 65 3a 5c 72 5c 6e 5c 73 5c 73 5c 73  Trace:\r\n\s\s\s
2a80: 61 74 5c 73 53 79 73 74 65 6d 2e 44 61 74 61 2e  at\sSystem.Data.
2a90: 43 6f 6d 6d 6f 6e 2e 44 62 44 61 74 61 41 64 61  Common.DbDataAda
2aa0: 70 74 65 72 2e 55 70 64 61 74 65 64 52 6f 77 53  pter.UpdatedRowS
2ab0: 74 61 74 75 73 45 72 72 6f 72 73 28 52 6f 77 55  tatusErrors(RowU
2ac0: 70 64 61 74 65 64 45 76 65 6e 74 41 72 67 73 5c  pdatedEventArgs\
2ad0: 73 72 6f 77 55 70 64 61 74 65 64 45 76 65 6e 74  srowUpdatedEvent
2ae0: 2c 5c 73 42 61 74 63 68 43 6f 6d 6d 61 6e 64 49  ,\sBatchCommandI
2af0: 6e 66 6f 5b 5d 5c 73 62 61 74 63 68 43 6f 6d 6d  nfo[]\sbatchComm
2b00: 61 6e 64 73 2c 5c 73 49 6e 74 33 32 5c 73 63 6f  ands,\sInt32\sco
2b10: 6d 6d 61 6e 64 43 6f 75 6e 74 29 5c 72 5c 6e 5c  mmandCount)\r\n\
2b20: 73 5c 73 5c 73 61 74 5c 73 53 79 73 74 65 6d 2e  s\s\sat\sSystem.
2b30: 44 61 74 61 2e 43 6f 6d 6d 6f 6e 2e 44 62 44 61  Data.Common.DbDa
2b40: 74 61 41 64 61 70 74 65 72 2e 55 70 64 61 74 65  taAdapter.Update
2b50: 64 52 6f 77 53 74 61 74 75 73 28 52 6f 77 55 70  dRowStatus(RowUp
2b60: 64 61 74 65 64 45 76 65 6e 74 41 72 67 73 5c 73  datedEventArgs\s
2b70: 72 6f 77 55 70 64 61 74 65 64 45 76 65 6e 74 2c  rowUpdatedEvent,
2b80: 5c 73 42 61 74 63 68 43 6f 6d 6d 61 6e 64 49 6e  \sBatchCommandIn
2b90: 66 6f 5b 5d 5c 73 62 61 74 63 68 43 6f 6d 6d 61  fo[]\sbatchComma
2ba0: 6e 64 73 2c 5c 73 49 6e 74 33 32 5c 73 63 6f 6d  nds,\sInt32\scom
2bb0: 6d 61 6e 64 43 6f 75 6e 74 29 5c 72 5c 6e 5c 73  mandCount)\r\n\s
2bc0: 5c 73 5c 73 61 74 5c 73 53 79 73 74 65 6d 2e 44  \s\sat\sSystem.D
2bd0: 61 74 61 2e 43 6f 6d 6d 6f 6e 2e 44 62 44 61 74  ata.Common.DbDat
2be0: 61 41 64 61 70 74 65 72 2e 55 70 64 61 74 65 28  aAdapter.Update(
2bf0: 44 61 74 61 52 6f 77 5b 5d 5c 73 64 61 74 61 52  DataRow[]\sdataR
2c00: 6f 77 73 2c 5c 73 44 61 74 61 54 61 62 6c 65 4d  ows,\sDataTableM
2c10: 61 70 70 69 6e 67 5c 73 74 61 62 6c 65 4d 61 70  apping\stableMap
2c20: 70 69 6e 67 29 5c 72 5c 6e 5c 73 5c 73 5c 73 61  ping)\r\n\s\s\sa
2c30: 74 5c 73 53 79 73 74 65 6d 2e 44 61 74 61 2e 43  t\sSystem.Data.C
2c40: 6f 6d 6d 6f 6e 2e 44 62 44 61 74 61 41 64 61 70  ommon.DbDataAdap
2c50: 74 65 72 2e 55 70 64 61 74 65 46 72 6f 6d 44 61  ter.UpdateFromDa
2c60: 74 61 54 61 62 6c 65 28 44 61 74 61 54 61 62 6c  taTable(DataTabl
2c70: 65 5c 73 64 61 74 61 54 61 62 6c 65 2c 5c 73 44  e\sdataTable,\sD
2c80: 61 74 61 54 61 62 6c 65 4d 61 70 70 69 6e 67 5c  ataTableMapping\
2c90: 73 74 61 62 6c 65 4d 61 70 70 69 6e 67 29 5c 72  stableMapping)\r
2ca0: 5c 6e 5c 73 5c 73 5c 73 61 74 5c 73 53 79 73 74  \n\s\s\sat\sSyst
2cb0: 65 6d 2e 44 61 74 61 2e 43 6f 6d 6d 6f 6e 2e 44  em.Data.Common.D
2cc0: 62 44 61 74 61 41 64 61 70 74 65 72 2e 55 70 64  bDataAdapter.Upd
2cd0: 61 74 65 28 44 61 74 61 54 61 62 6c 65 5c 73 64  ate(DataTable\sd
2ce0: 61 74 61 54 61 62 6c 65 29 5c 72 5c 6e 5c 73 5c  ataTable)\r\n\s\
2cf0: 73 5c 73 61 74 5c 73 54 65 73 74 2e 6d 79 74 65  s\sat\sTest.myte
2d00: 73 74 2e 6d 79 74 65 73 74 2e 55 70 64 61 74 65  st.mytest.Update
2d10: 54 65 73 74 28 44 61 74 61 54 61 62 6c 65 5c 73  Test(DataTable\s
2d20: 64 74 29 5c 73 69 6e 5c 73 43 3a 5c 5c 55 73 65  dt)\sin\sC:\\Use
2d30: 72 73 5c 5c 61 64 6d 69 6e 5c 5c 44 6f 63 75 6d  rs\\admin\\Docum
2d40: 65 6e 74 73 5c 5c 56 69 73 75 61 6c 5c 73 53 74  ents\\Visual\sSt
2d50: 75 64 69 6f 5c 73 32 30 30 38 5c 5c 50 72 6f 6a  udio\s2008\\Proj
2d60: 65 63 74 73 5c 5c 54 65 73 74 5c 5c 54 65 73 74  ects\\Test\\Test
2d70: 5c 5c 6d 79 74 65 73 74 5c 5c 6d 79 74 65 73 74  \\mytest\\mytest
2d80: 2e 63 73 3a 4c 69 6e 65 5c 73 32 33 36 2e 5c 72  .cs:Line\s236.\r
2d90: 5c 6e 5c 72 5c 6e 65 2e 54 61 72 67 65 74 53 69  \n\r\ne.TargetSi
2da0: 74 65 3a 5c 72 5c 6e 49 6e 74 33 32 5c 73 55 70  te:\r\nInt32\sUp
2db0: 64 61 74 65 64 52 6f 77 53 74 61 74 75 73 45 72  datedRowStatusEr
2dc0: 72 6f 72 73 28 53 79 73 74 65 6d 2e 44 61 74 61  rors(System.Data
2dd0: 2e 43 6f 6d 6d 6f 6e 2e 52 6f 77 55 70 64 61 74  .Common.RowUpdat
2de0: 65 64 45 76 65 6e 74 41 72 67 73 2c 5c 73 42 61  edEventArgs,\sBa
2df0: 74 63 68 43 6f 6d 6d 61 6e 64 49 6e 66 6f 5b 5d  tchCommandInfo[]
2e00: 2c 5c 73 49 6e 74 33 32 29 5c 72 5c 6e 5c 72 5c  ,\sInt32)\r\n\r\
2e10: 6e 65 2e 4d 65 73 73 61 67 65 3a 5c 72 5c 6e 43  ne.Message:\r\nC
2e20: 6f 6e 63 75 72 72 65 6e 63 79 5c 73 76 69 6f 6c  oncurrency\sviol
2e30: 61 74 69 6f 6e 3a 5c 73 74 68 65 5c 73 55 70 64  ation:\sthe\sUpd
2e40: 61 74 65 43 6f 6d 6d 61 6e 64 5c 73 61 66 66 65  ateCommand\saffe
2e50: 63 74 65 64 5c 73 30 5c 73 6f 66 5c 73 74 68 65  cted\s0\sof\sthe
2e60: 5c 73 65 78 70 65 63 74 65 64 5c 73 31 5c 73 72  \sexpected\s1\sr
2e70: 65 63 6f 72 64 73 2e 5c 72 5c 6e 5c 72 5c 6e 3c  ecords.\r\n\r\n<
2e80: 68 72 5c 73 2f 3e 3c 69 3e 6d 69 73 74 61 63 68  hr\s/><i>mistach
2e90: 6b 69 6e 5c 73 61 64 64 65 64 5c 73 6f 6e 5c 73  kin\sadded\son\s
2ea0: 32 30 31 32 2d 30 32 2d 30 36 5c 73 32 32 3a 30  2012-02-06\s22:0
2eb0: 31 3a 34 33 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62  1:43\sUTC:</i><b
2ec0: 72 5c 73 2f 3e 5c 72 5c 6e 54 68 65 5c 73 65 78  r\s/>\r\nThe\sex
2ed0: 63 65 70 74 69 6f 6e 5c 73 69 6e 66 6f 72 6d 61  ception\sinforma
2ee0: 74 69 6f 6e 5c 73 69 74 73 65 6c 66 5c 73 69 73  tion\sitself\sis
2ef0: 5c 73 6e 6f 74 5c 73 70 61 72 74 69 63 75 6c 61  \snot\sparticula
2f00: 72 6c 79 5c 73 69 6c 6c 75 6d 69 6e 61 74 69 6e  rly\silluminatin
2f10: 67 2e 5c 73 5c 73 54 68 65 5c 73 53 51 4c 5c 73  g.\s\sThe\sSQL\s
2f20: 73 74 61 74 65 6d 65 6e 74 5c 73 63 61 75 73 69  statement\scausi
2f30: 6e 67 5c 73 74 68 65 5c 73 69 73 73 75 65 5c 73  ng\sthe\sissue\s
2f40: 77 69 6c 6c 5c 73 62 65 5c 73 66 61 72 5c 73 6d  will\sbe\sfar\sm
2f50: 6f 72 65 5c 73 69 6e 66 6f 72 6d 61 74 69 76 65  ore\sinformative
2f60: 2e 5c 72 5c 6e 5c 72 5c 6e 5c 72 5c 6e 3c 68 72  .\r\n\r\n\r\n<hr
2f70: 5c 73 2f 3e 3c 69 3e 61 6e 6f 6e 79 6d 6f 75 73  \s/><i>anonymous
2f80: 5c 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32 30 31  \sadded\son\s201
2f90: 32 2d 30 32 2d 30 38 5c 73 31 33 3a 34 32 3a 30  2-02-08\s13:42:0
2fa0: 38 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62 72 5c 73  8\sUTC:</i><br\s
2fb0: 2f 3e 5c 72 5c 6e 35 5c 73 72 6f 77 73 5c 73 77  />\r\n5\srows\sw
2fc0: 68 65 72 65 5c 73 75 70 64 61 74 65 64 5c 73 28  here\supdated\s(
2fd0: 6f 66 5c 73 7e 32 30 30 29 5c 73 74 68 65 6e 5c  of\s~200)\sthen\
2fe0: 73 74 68 65 5c 73 65 78 63 65 70 74 69 6f 6e 5c  sthe\sexception\
2ff0: 73 6f 63 75 72 72 65 64 2e 5c 72 5c 6e 5c 72 5c  socurred.\r\n\r\
3000: 6e 74 72 61 63 65 5c 73 6f 75 74 70 75 74 3a 5c  ntrace\soutput:\
3010: 72 5c 6e 5c 72 5c 6e 2e 2e 2e 5c 72 5c 6e 5c 72  r\n\r\n...\r\n\r
3020: 5c 6e 50 72 65 70 61 72 65 3a 5c 73 31 32 33 32  \nPrepare:\s1232
3030: 34 31 36 32 34 5c 72 5c 6e 5c 72 5c 6e 53 51 4c  41624\r\n\r\nSQL
3040: 69 74 65 5c 73 6d 65 73 73 61 67 65 5c 73 28 30  ite\smessage\s(0
3050: 29 3a 5c 73 50 72 65 70 61 72 69 6e 67 5c 73 7b  ):\sPreparing\s{
3060: 55 50 44 41 54 45 5c 73 5b 6d 61 69 6e 5d 2e 5b  UPDATE\s[main].[
3070: 50 52 4f 44 55 43 54 5d 5c 73 53 45 54 5c 73 5b  PRODUCT]\sSET\s[
3080: 43 48 41 4e 47 45 5f 44 41 54 45 5d 5c 73 3d 5c  CHANGE_DATE]\s=\
3090: 73 40 70 61 72 61 6d 31 2c 5c 73 5b 49 44 5d 5c  s@param1,\s[ID]\
30a0: 73 3d 5c 73 40 70 61 72 61 6d 32 2c 5c 73 5b 50  s=\s@param2,\s[P
30b0: 52 49 43 45 5d 5c 73 3d 5c 73 40 70 61 72 61 6d  RICE]\s=\s@param
30c0: 33 5c 73 57 48 45 52 45 5c 73 28 28 5b 43 48 41  3\sWHERE\s(([CHA
30d0: 4e 47 45 5f 44 41 54 45 5d 5c 73 3d 5c 73 40 70  NGE_DATE]\s=\s@p
30e0: 61 72 61 6d 34 29 5c 73 41 4e 44 5c 73 28 5b 49  aram4)\sAND\s([I
30f0: 44 5d 5c 73 3d 5c 73 40 70 61 72 61 6d 35 29 5c  D]\s=\s@param5)\
3100: 73 41 4e 44 5c 73 28 28 40 70 61 72 61 6d 36 5c  sAND\s((@param6\
3110: 73 3d 5c 73 31 5c 73 41 4e 44 5c 73 5b 50 52 49  s=\s1\sAND\s[PRI
3120: 43 45 5d 5c 73 49 53 5c 73 4e 55 4c 4c 29 5c 73  CE]\sIS\sNULL)\s
3130: 4f 52 5c 73 28 5b 50 52 49 43 45 5d 5c 73 3d 5c  OR\s([PRICE]\s=\
3140: 73 40 70 61 72 61 6d 37 29 29 29 7d 2e 2e 2e 5c  s@param7)))}...\
3150: 72 5c 6e 5c 72 5c 6e 50 72 65 70 61 72 65 3a 5c  r\n\r\nPrepare:\
3160: 73 31 32 33 32 33 39 34 32 34 5c 72 5c 6e 5c 72  s123239424\r\n\r
3170: 5c 6e 27 54 65 73 74 2e 76 73 68 6f 73 74 2e 65  \n'Test.vshost.e
3180: 78 65 27 5c 73 28 4d 61 6e 61 67 65 64 29 3a 5c  xe'\s(Managed):\
3190: 73 4c 6f 61 64 65 64 5c 73 27 43 3a 5c 5c 57 69  sLoaded\s'C:\\Wi
31a0: 6e 64 6f 77 73 5c 5c 61 73 73 65 6d 62 6c 79 5c  ndows\\assembly\
31b0: 5c 47 41 43 5f 4d 53 49 4c 5c 5c 53 79 73 74 65  \GAC_MSIL\\Syste
31c0: 6d 2e 44 61 74 61 2e 72 65 73 6f 75 72 63 65 73  m.Data.resources
31d0: 5c 5c 32 2e 30 2e 30 2e 30 5f 64 65 5f 62 37 37  \\2.0.0.0_de_b77
31e0: 61 35 63 35 36 31 39 33 34 65 30 38 39 5c 5c 53  a5c561934e089\\S
31f0: 79 73 74 65 6d 2e 44 61 74 61 2e 72 65 73 6f 75  ystem.Data.resou
3200: 72 63 65 73 2e 64 6c 6c 27 5c 72 5c 6e 5c 72 5c  rces.dll'\r\n\r\
3210: 6e 41 5c 73 66 69 72 73 74 5c 73 63 68 61 6e 63  nA\sfirst\schanc
3220: 65 5c 73 65 78 63 65 70 74 69 6f 6e 5c 73 6f 66  e\sexception\sof
3230: 5c 73 74 79 70 65 5c 73 27 53 79 73 74 65 6d 2e  \stype\s'System.
3240: 44 61 74 61 2e 44 42 43 6f 6e 63 75 72 72 65 6e  Data.DBConcurren
3250: 63 79 45 78 63 65 70 74 69 6f 6e 27 5c 73 6f 63  cyException'\soc
3260: 63 75 72 72 65 64 5c 73 69 6e 5c 73 53 79 73 74  curred\sin\sSyst
3270: 65 6d 2e 44 61 74 61 2e 64 6c 6c 5c 72 5c 6e 5c  em.Data.dll\r\n\
3280: 72 5c 6e 2e 2e 2e 5c 72 5c 6e 5c 72 5c 6e 5c 72  r\n...\r\n\r\n\r
3290: 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 6d 69 73 74  \n<hr\s/><i>mist
32a0: 61 63 68 6b 69 6e 5c 73 61 64 64 65 64 5c 73 6f  achkin\sadded\so
32b0: 6e 5c 73 32 30 31 32 2d 30 32 2d 30 38 5c 73 32  n\s2012-02-08\s2
32c0: 31 3a 31 33 3a 30 35 5c 73 55 54 43 3a 3c 2f 69  1:13:05\sUTC:</i
32d0: 3e 3c 62 72 5c 73 2f 3e 5c 72 5c 6e 4a 75 64 67  ><br\s/>\r\nJudg
32e0: 69 6e 67 5c 73 66 72 6f 6d 5c 73 74 68 65 5c 73  ing\sfrom\sthe\s
32f0: 71 75 65 72 79 5c 73 79 6f 75 5c 73 70 6f 73 74  query\syou\spost
3300: 65 64 2c 5c 73 69 74 5c 73 6c 6f 6f 6b 73 5c 73  ed,\sit\slooks\s
3310: 6c 69 6b 65 5c 73 74 68 69 73 5c 73 63 6f 75 6c  like\sthis\scoul
3320: 64 5c 73 61 67 61 69 6e 5c 73 62 65 5c 73 61 5c  d\sagain\sbe\sa\
3330: 73 44 61 74 65 54 69 6d 65 5c 73 66 6f 72 6d 61  sDateTime\sforma
3340: 74 5c 73 69 73 73 75 65 5c 73 73 69 6e 63 65 5c  t\sissue\ssince\
3350: 73 74 68 65 72 65 5c 73 69 73 5c 73 61 5c 73 44  sthere\sis\sa\sD
3360: 61 74 65 54 69 6d 65 5c 73 63 6f 6c 75 6d 6e 5c  ateTime\scolumn\
3370: 73 69 6e 5c 73 74 68 65 5c 73 57 48 45 52 45 5c  sin\sthe\sWHERE\
3380: 73 63 6c 61 75 73 65 2e 5c 73 5c 73 57 6f 75 6c  sclause.\s\sWoul
3390: 64 5c 73 69 74 5c 73 62 65 5c 73 70 6f 73 73 69  d\sit\sbe\spossi
33a0: 62 6c 65 5c 73 74 6f 5c 73 66 69 67 75 72 65 5c  ble\sto\sfigure\
33b0: 73 6f 75 74 5c 73 77 68 61 74 5c 73 70 61 72 61  sout\swhat\spara
33c0: 6d 65 74 65 72 5c 73 76 61 6c 75 65 73 5c 73 61  meter\svalues\sa
33d0: 72 65 5c 73 62 65 69 6e 67 5c 73 75 73 65 64 5c  re\sbeing\sused\
33e0: 73 61 74 5c 73 74 68 61 74 5c 73 70 6f 69 6e 74  sat\sthat\spoint
33f0: 3f 5c 72 5c 6e 5c 72 5c 6e 3c 68 72 5c 73 2f 3e  ?\r\n\r\n<hr\s/>
3400: 3c 69 3e 61 6e 6f 6e 79 6d 6f 75 73 5c 73 61 64  <i>anonymous\sad
3410: 64 65 64 5c 73 6f 6e 5c 73 32 30 31 32 2d 30 32  ded\son\s2012-02
3420: 2d 30 39 5c 73 32 33 3a 31 39 3a 35 37 5c 73 55  -09\s23:19:57\sU
3430: 54 43 3a 3c 2f 69 3e 3c 62 72 5c 73 2f 3e 5c 72  TC:</i><br\s/>\r
3440: 5c 6e 61 67 61 69 6e 5c 73 35 5c 73 72 6f 77 73  \nagain\s5\srows
3450: 5c 73 77 68 65 72 65 5c 73 75 70 64 61 74 65 64  \swhere\supdated
3460: 2c 5c 73 74 68 65 6e 5c 73 74 68 65 5c 73 65 78  ,\sthen\sthe\sex
3470: 63 65 70 74 69 6f 6e 5c 73 6f 63 75 72 72 65 64  ception\socurred
3480: 5c 72 5c 6e 5c 72 5c 6e 63 6f 64 65 3a 5c 72 5c  \r\n\r\ncode:\r\
3490: 6e 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c  n\r\n\s\s\s\s\s\
34a0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 63 73 74  s\s\s\s\s\s\scst
34b0: 72 5c 73 3d 5c 73 6e 65 77 5c 73 53 51 4c 69 74  r\s=\snew\sSQLit
34c0: 65 43 6f 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e  eConnectionStrin
34d0: 67 42 75 69 6c 64 65 72 28 29 3b 5c 72 5c 6e 5c  gBuilder();\r\n\
34e0: 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  r\n\s\s\s\s\s\s\
34f0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 63 73 74 72 2e  s\s\s\s\s\scstr.
3500: 44 61 74 61 53 6f 75 72 63 65 5c 73 3d 5c 73 6d  DataSource\s=\sm
3510: 79 44 42 3b 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c 73  yDB;\r\n\r\n\s\s
3520: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
3530: 5c 73 5c 73 63 73 74 72 2e 56 65 72 73 69 6f 6e  \s\scstr.Version
3540: 5c 73 3d 5c 73 33 3b 5c 72 5c 6e 5c 72 5c 6e 5c  \s=\s3;\r\n\r\n\
3550: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
3560: 73 5c 73 5c 73 5c 73 63 73 74 72 2e 44 61 74 65  s\s\s\scstr.Date
3570: 54 69 6d 65 4b 69 6e 64 5c 73 3d 5c 73 44 61 74  TimeKind\s=\sDat
3580: 65 54 69 6d 65 4b 69 6e 64 2e 4c 6f 63 61 6c 3b  eTimeKind.Local;
3590: 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73  \r\n\r\n\s\s\s\s
35a0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
35b0: 63 73 74 72 2e 44 61 74 65 54 69 6d 65 46 6f 72  cstr.DateTimeFor
35c0: 6d 61 74 5c 73 3d 5c 73 53 51 4c 69 74 65 44 61  mat\s=\sSQLiteDa
35d0: 74 65 46 6f 72 6d 61 74 73 2e 4a 75 6c 69 61 6e  teFormats.Julian
35e0: 44 61 79 3b 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c 73  Day;\r\n\r\n\s\s
35f0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
3600: 5c 73 5c 73 63 73 74 72 2e 46 6c 61 67 73 5c 73  \s\scstr.Flags\s
3610: 3d 5c 73 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74  =\sSQLiteConnect
3620: 69 6f 6e 46 6c 61 67 73 2e 4c 6f 67 50 72 65 70  ionFlags.LogPrep
3630: 61 72 65 3b 5c 72 5c 6e 5c 72 5c 6e 2e 2e 2e 5c  are;\r\n\r\n...\
3640: 72 5c 6e 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c  r\n\r\n\s\s\s\s\
3650: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 66  s\s\s\s\s\s\s\sf
3660: 6f 72 5c 73 28 69 6e 74 5c 73 69 5c 73 3d 5c 73  or\s(int\si\s=\s
3670: 30 3b 5c 73 69 5c 73 3c 5c 73 72 63 6f 75 6e 74  0;\si\s<\srcount
3680: 3b 5c 73 69 2b 2b 29 5c 72 5c 6e 5c 72 5c 6e 5c  ;\si++)\r\n\r\n\
3690: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
36a0: 73 5c 73 5c 73 5c 73 7b 5c 72 5c 6e 5c 72 5c 6e  s\s\s\s{\r\n\r\n
36b0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
36c0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
36d0: 53 79 73 74 65 6d 2e 54 68 72 65 61 64 69 6e 67  System.Threading
36e0: 2e 54 68 72 65 61 64 2e 53 6c 65 65 70 28 35 30  .Thread.Sleep(50
36f0: 30 30 29 3b 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c 73  00);\r\n\r\n\s\s
3700: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
3710: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 64 74 2e 52  \s\s\s\s\s\sdt.R
3720: 6f 77 73 5b 69 5d 5b 22 50 52 49 43 45 22 5d 5c  ows[i]["PRICE"]\
3730: 73 3d 5c 73 28 64 6f 75 62 6c 65 29 64 74 2e 52  s=\s(double)dt.R
3740: 6f 77 73 5b 69 5d 5b 22 50 52 49 43 45 22 5d 5c  ows[i]["PRICE"]\
3750: 73 2b 5c 73 35 2e 31 32 33 3b 5c 72 5c 6e 5c 72  s+\s5.123;\r\n\r
3760: 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \n\s\s\s\s\s\s\s
3770: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
3780: 5c 73 73 74 72 69 6e 67 5c 73 73 5c 73 3d 5c 73  \sstring\ss\s=\s
3790: 44 61 74 65 54 69 6d 65 2e 4e 6f 77 2e 54 6f 53  DateTime.Now.ToS
37a0: 74 72 69 6e 67 28 22 79 79 79 79 2d 4d 4d 2d 64  tring("yyyy-MM-d
37b0: 64 5c 73 48 48 3a 6d 6d 3a 73 73 2e 46 46 46 46  d\sHH:mm:ss.FFFF
37c0: 46 46 46 4b 22 29 3b 5c 72 5c 6e 5c 72 5c 6e 5c  FFFK");\r\n\r\n\
37d0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
37e0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 64  s\s\s\s\s\s\s\sd
37f0: 74 2e 52 6f 77 73 5b 69 5d 5b 22 43 48 41 4e 47  t.Rows[i]["CHANG
3800: 45 5f 44 41 54 45 22 5d 5c 73 3d 5c 73 73 3b 5c  E_DATE"]\s=\ss;\
3810: 72 5c 6e 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c  r\n\r\n\s\s\s\s\
3820: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 7d  s\s\s\s\s\s\s\s}
3830: 5c 72 5c 6e 5c 72 5c 6e 2d 2d 2d 5c 72 5c 6e 5c  \r\n\r\n---\r\n\
3840: 72 5c 6e 61 64 61 70 74 65 72 2e 55 70 64 61 74  r\nadapter.Updat
3850: 65 28 29 3b 5c 72 5c 6e 5c 72 5c 6e 73 74 72 69  e();\r\n\r\nstri
3860: 6e 67 5c 73 73 5c 73 6f 75 74 70 75 74 73 3a 5c  ng\ss\soutputs:\
3870: 72 5c 6e 5c 72 5c 6e 32 30 31 32 2d 30 32 2d 30  r\n\r\n2012-02-0
3880: 39 5c 73 32 33 3a 35 31 3a 32 34 2e 37 34 36 2b  9\s23:51:24.746+
3890: 30 31 3a 30 30 5c 72 5c 6e 5c 72 5c 6e 32 30 31  01:00\r\n\r\n201
38a0: 32 2d 30 32 2d 30 39 5c 73 32 33 3a 35 31 3a 32  2-02-09\s23:51:2
38b0: 39 2e 37 35 36 2b 30 31 3a 30 30 5c 72 5c 6e 5c  9.756+01:00\r\n\
38c0: 72 5c 6e 32 30 31 32 2d 30 32 2d 30 39 5c 73 32  r\n2012-02-09\s2
38d0: 33 3a 35 31 3a 33 34 2e 37 36 32 2b 30 31 3a 30  3:51:34.762+01:0
38e0: 30 5c 72 5c 6e 5c 72 5c 6e 32 30 31 32 2d 30 32  0\r\n\r\n2012-02
38f0: 2d 30 39 5c 73 32 33 3a 35 31 3a 33 39 2e 37 37  -09\s23:51:39.77
3900: 32 2b 30 31 3a 30 30 5c 72 5c 6e 5c 72 5c 6e 32  2+01:00\r\n\r\n2
3910: 30 31 32 2d 30 32 2d 30 39 5c 73 32 33 3a 35 31  012-02-09\s23:51
3920: 3a 34 34 2e 37 37 37 2b 30 31 3a 30 30 5c 72 5c  :44.777+01:00\r\
3930: 6e 5c 72 5c 6e 32 30 31 32 2d 30 32 2d 30 39 5c  n\r\n2012-02-09\
3940: 73 32 33 3a 35 31 3a 34 39 2e 37 38 37 2b 30 31  s23:51:49.787+01
3950: 3a 30 30 5c 72 5c 6e 5c 72 5c 6e 32 30 31 32 2d  :00\r\n\r\n2012-
3960: 30 32 2d 30 39 5c 73 32 33 3a 35 31 3a 35 34 2e  02-09\s23:51:54.
3970: 37 39 37 2b 30 31 3a 30 30 5c 72 5c 6e 5c 72 5c  797+01:00\r\n\r\
3980: 6e 32 30 31 32 2d 30 32 2d 30 39 5c 73 32 33 3a  n2012-02-09\s23:
3990: 35 31 3a 35 39 2e 38 30 37 2b 30 31 3a 30 30 5c  51:59.807+01:00\
39a0: 72 5c 6e 5c 72 5c 6e 32 30 31 32 2d 30 32 2d 30  r\n\r\n2012-02-0
39b0: 39 5c 73 32 33 3a 35 32 3a 30 34 2e 38 31 37 2b  9\s23:52:04.817+
39c0: 30 31 3a 30 30 5c 72 5c 6e 5c 72 5c 6e 32 30 31  01:00\r\n\r\n201
39d0: 32 2d 30 32 2d 30 39 5c 73 32 33 3a 35 32 3a 30  2-02-09\s23:52:0
39e0: 39 2e 38 32 33 2b 30 31 3a 30 30 5c 72 5c 6e 5c  9.823+01:00\r\n\
39f0: 72 5c 6e 32 30 31 32 2d 30 32 2d 30 39 5c 73 32  r\n2012-02-09\s2
3a00: 33 3a 35 32 3a 31 34 2e 38 32 39 2b 30 31 3a 30  3:52:14.829+01:0
3a10: 30 5c 72 5c 6e 5c 72 5c 6e 32 30 31 32 2d 30 32  0\r\n\r\n2012-02
3a20: 2d 30 39 5c 73 32 33 3a 35 32 3a 31 39 2e 38 33  -09\s23:52:19.83
3a30: 35 2b 30 31 3a 30 30 5c 72 5c 6e 5c 72 5c 6e 61  5+01:00\r\n\r\na
3a40: 6e 64 5c 73 73 6f 5c 73 6f 6e 5c 72 5c 6e 5c 72  nd\sso\son\r\n\r
3a50: 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 6d 69 73 74  \n<hr\s/><i>mist
3a60: 61 63 68 6b 69 6e 5c 73 61 64 64 65 64 5c 73 6f  achkin\sadded\so
3a70: 6e 5c 73 32 30 31 32 2d 30 32 2d 31 30 5c 73 30  n\s2012-02-10\s0
3a80: 36 3a 35 35 3a 33 38 5c 73 55 54 43 3a 3c 2f 69  6:55:38\sUTC:</i
3a90: 3e 3c 62 72 5c 73 2f 3e 5c 72 5c 6e 49 27 76 65  ><br\s/>\r\nI've
3aa0: 5c 73 62 65 65 6e 5c 73 74 72 79 69 6e 67 5c 73  \sbeen\strying\s
3ab0: 74 6f 5c 73 72 65 70 72 6f 64 75 63 65 5c 73 74  to\sreproduce\st
3ac0: 68 69 73 5c 73 69 73 73 75 65 5c 73 68 65 72 65  his\sissue\shere
3ad0: 5c 73 62 61 73 65 64 5c 73 6f 6e 5c 73 74 68 65  \sbased\son\sthe
3ae0: 5c 73 6d 6f 64 69 66 69 65 64 5c 73 65 78 61 6d  \smodified\sexam
3af0: 70 6c 65 5c 73 79 6f 75 5c 73 70 72 6f 76 69 64  ple\syou\sprovid
3b00: 65 64 3b 5c 73 68 6f 77 65 76 65 72 2c 5c 73 6e  ed;\showever,\sn
3b10: 6f 5c 73 6d 61 74 74 65 72 5c 73 77 68 61 74 5c  o\smatter\swhat\
3b20: 73 76 61 72 69 61 74 69 6f 6e 5c 73 49 5c 73 74  svariation\sI\st
3b30: 72 79 2c 5c 73 49 5c 73 63 61 6e 6e 6f 74 5c 73  ry,\sI\scannot\s
3b40: 67 65 74 5c 73 74 68 65 5c 73 63 6f 6e 63 75 72  get\sthe\sconcur
3b50: 72 65 6e 63 79 5c 73 65 78 63 65 70 74 69 6f 6e  rency\sexception
3b60: 2e 5c 73 5c 73 48 65 72 65 5c 73 69 73 5c 73 6d  .\s\sHere\sis\sm
3b70: 79 5c 73 63 75 72 72 65 6e 74 5c 73 74 65 73 74  y\scurrent\stest
3b80: 5c 73 63 61 73 65 5c 73 28 74 68 65 5c 73 63 6f  \scase\s(the\sco
3b90: 6d 70 6c 65 74 65 5c 73 43 23 5c 73 63 6f 64 65  mplete\sC#\scode
3ba0: 5c 73 69 73 5c 73 65 6d 62 65 64 64 65 64 5c 73  \sis\sembedded\s
3bb0: 77 69 74 68 69 6e 5c 73 74 68 65 5c 73 74 65 73  within\sthe\stes
3bc0: 74 5c 73 73 63 72 69 70 74 5c 73 69 74 73 65 6c  t\sscript\sitsel
3bd0: 66 29 3a 5c 72 5c 6e 5c 72 5c 6e 3c 76 65 72 62  f):\r\n\r\n<verb
3be0: 61 74 69 6d 3e 5c 72 5c 6e 72 75 6e 54 65 73 74  atim>\r\nrunTest
3bf0: 5c 73 7b 74 65 73 74 5c 73 74 6b 74 2d 34 62 62  \s{test\stkt-4bb
3c00: 66 38 35 31 66 61 35 2d 31 2e 31 5c 73 7b 53 51  f851fa5-1.1\s{SQ
3c10: 4c 69 74 65 44 61 74 61 41 64 61 70 74 65 72 5c  LiteDataAdapter\
3c20: 73 75 70 64 61 74 65 5c 73 66 61 69 6c 7d 5c 73  supdate\sfail}\s
3c30: 2d 73 65 74 75 70 5c 73 7b 5c 72 5c 6e 5c 73 5c  -setup\s{\r\n\s\
3c40: 73 73 65 74 75 70 44 62 5c 73 5b 73 65 74 5c 73  ssetupDb\s[set\s
3c50: 66 69 6c 65 4e 61 6d 65 5c 73 74 6b 74 2d 34 62  fileName\stkt-4b
3c60: 62 66 38 35 31 66 61 35 2d 31 2e 31 2e 64 62 5d  bf851fa5-1.1.db]
3c70: 5c 72 5c 6e 7d 5c 73 2d 62 6f 64 79 5c 73 7b 5c  \r\n}\s-body\s{\
3c80: 72 5c 6e 5c 73 5c 73 73 65 74 5c 73 69 64 5c 73  r\n\s\sset\sid\s
3c90: 5b 6f 62 6a 65 63 74 5c 73 69 6e 76 6f 6b 65 5c  [object\sinvoke\
3ca0: 73 49 6e 74 65 72 70 72 65 74 65 72 2e 47 65 74  sInterpreter.Get
3cb0: 41 63 74 69 76 65 5c 73 4e 65 78 74 49 64 5d 5c  Active\sNextId]\
3cc0: 72 5c 6e 5c 73 5c 73 73 65 74 5c 73 64 61 74 61  r\n\s\sset\sdata
3cd0: 53 6f 75 72 63 65 5c 73 5b 66 69 6c 65 5c 73 6a  Source\s[file\sj
3ce0: 6f 69 6e 5c 73 5b 67 65 74 44 61 74 61 62 61 73  oin\s[getDatabas
3cf0: 65 44 69 72 65 63 74 6f 72 79 5d 5c 73 24 66 69  eDirectory]\s$fi 3d00: 6c 65 4e 61 6d 65 5d 5c 72 5c 6e 5c 72 5c 6e 5c leName]\r\n\r\n\ 3d10: 73 5c 73 73 65 74 5c 73 73 71 6c 28 69 6e 73 65 s\sset\ssql(inse 3d20: 72 74 73 29 5c 73 22 22 5c 72 5c 6e 5c 73 5c 73 rts)\s""\r\n\s\s 3d30: 73 65 74 5c 73 73 71 6c 28 31 29 5c 73 5b 73 75 set\ssql(1)\s[su 3d40: 62 73 74 5c 73 7b 5c 73 5c 5c 5c 72 5c 6e 5c 73 bst\s{\s\\\r\n\s 3d50: 5c 73 5c 73 5c 73 43 52 45 41 54 45 5c 73 54 41 \s\s\sCREATE\sTA 3d60: 42 4c 45 5c 73 74 31 28 79 5c 73 44 41 54 45 54 BLE\st1(y\sDATET 3d70: 49 4d 45 5c 73 50 52 49 4d 41 52 59 5c 73 4b 45 IME\sPRIMARY\sKE 3d80: 59 2c 5c 73 7a 5c 73 46 4c 4f 41 54 29 3b 5c 73 Y,\sz\sFLOAT);\s 3d90: 5c 5c 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5b 66 \\\r\n\s\s\s\s[f 3da0: 6f 72 5c 73 7b 73 65 74 5c 73 69 5c 73 31 7d 5c or\s{set\si\s1}\ 3db0: 73 7b 24 69 5c 73 3c 5c 73 31 30 7d 5c 73 7b 69 s{$i\s<\s10}\s{i
3dc0: 6e 63 72 5c 73 69 7d 5c 73 7b 5c 72 5c 6e 5c 73  ncr\si}\s{\r\n\s
3dd0: 5c 73 5c 73 5c 73 5c 73 5c 73 61 70 70 65 6e 64  \s\s\s\s\sappend
3de0: 5c 73 73 71 6c 28 69 6e 73 65 72 74 73 29 5c 73  \ssql(inserts)\s
3df0: 5b 61 70 70 65 6e 64 41 72 67 73 5c 73 5c 5c 5c  [appendArgs\s\\\
3e00: 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  r\n\s\s\s\s\s\s\
3e10: 73 5c 73 5c 73 5c 73 22 49 4e 53 45 52 54 5c 73  s\s\s\s"INSERT\s
3e20: 49 4e 54 4f 5c 73 74 31 5c 73 28 79 2c 5c 73 7a  INTO\st1\s(y,\sz
3e30: 29 5c 73 56 41 4c 55 45 53 28 4a 55 4c 49 41 4e  )\sVALUES(JULIAN
3e40: 44 41 59 28 27 22 5c 73 5c 5c 5c 72 5c 6e 5c 73  DAY('"\s\\\r\n\s
3e50: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
3e60: 5c 73 5b 63 6c 6f 63 6b 5c 73 66 6f 72 6d 61 74  \s[clock\sformat
3e70: 5c 73 24 69 5c 73 2d 66 6f 72 6d 61 74 5c 73 5b  \s$i\s-format\s[ 3e80: 67 65 74 44 61 74 65 54 69 6d 65 46 6f 72 6d 61 getDateTimeForma 3e90: 74 5d 5d 5c 73 22 27 29 2c 5c 73 22 5c 73 24 69 t]]\s"'),\s"\s$i
3ea0: 5c 73 22 29 3b 5c 73 22 5d 5c 72 5c 6e 5c 73 5c  \s");\s"]\r\n\s\
3eb0: 73 5c 73 5c 73 7d 3b 5c 73 72 65 74 75 72 6e 5c  s\s\s};\sreturn\
3ec0: 73 5b 65 78 70 72 5c 73 7b 5b 69 6e 66 6f 5c 73  s[expr\s{[info\s
3ed0: 65 78 69 73 74 73 5c 73 73 71 6c 28 69 6e 73 65  exists\ssql(inse
3ee0: 72 74 73 29 5d 5c 73 3f 5c 73 24 73 71 6c 28 69  rts)]\s?\s$sql(i 3ef0: 6e 73 65 72 74 73 29 5c 73 3a 5c 73 22 22 7d 5d nserts)\s:\s""}] 3f00: 5d 5c 73 5c 5c 5c 72 5c 6e 5c 73 5c 73 7d 5d 5c ]\s\\\r\n\s\s}]\ 3f10: 72 5c 6e 5c 72 5c 6e 5c 73 5c 73 73 65 74 5c 73 r\n\r\n\s\sset\s 3f20: 73 71 6c 28 32 29 5c 73 5b 73 75 62 73 74 5c 73 sql(2)\s[subst\s 3f30: 7b 5c 73 5c 5c 5c 72 5c 6e 5c 73 5c 73 5c 73 5c {\s\\\r\n\s\s\s\ 3f40: 73 53 45 4c 45 43 54 5c 73 79 2c 5c 73 7a 5c 73 sSELECT\sy,\sz\s 3f50: 46 52 4f 4d 5c 73 74 31 5c 73 4f 52 44 45 52 5c FROM\st1\sORDER\ 3f60: 73 42 59 5c 73 79 3b 5c 73 5c 5c 5c 72 5c 6e 5c sBY\sy;\s\\\r\n\ 3f70: 73 5c 73 7d 5d 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c s\s}]\r\n\r\n\s\ 3f80: 73 75 6e 73 65 74 5c 73 2d 6e 6f 63 6f 6d 70 6c sunset\s-nocompl 3f90: 61 69 6e 5c 73 72 65 73 75 6c 74 73 5c 73 65 72 ain\sresults\ser 3fa0: 72 6f 72 73 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c 73 rors\r\n\r\n\s\s 3fb0: 73 65 74 5c 73 63 6f 64 65 5c 73 5b 63 6f 6d 70 set\scode\s[comp 3fc0: 69 6c 65 43 53 68 61 72 70 57 69 74 68 5c 73 5b ileCSharpWith\s[ 3fd0: 73 75 62 73 74 5c 73 7b 5c 72 5c 6e 5c 73 5c 73 subst\s{\r\n\s\s 3fe0: 5c 73 5c 73 75 73 69 6e 67 5c 73 53 79 73 74 65 \s\susing\sSyste 3ff0: 6d 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 75 73 m;\r\n\s\s\s\sus 4000: 69 6e 67 5c 73 53 79 73 74 65 6d 2e 44 61 74 61 ing\sSystem.Data 4010: 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 75 73 69 ;\r\n\s\s\s\susi 4020: 6e 67 5c 73 53 79 73 74 65 6d 2e 44 61 74 61 2e ng\sSystem.Data. 4030: 53 51 4c 69 74 65 3b 5c 72 5c 6e 5c 72 5c 6e 5c SQLite;\r\n\r\n\ 4040: 73 5c 73 5c 73 5c 73 6e 61 6d 65 73 70 61 63 65 s\s\s\snamespace 4050: 5c 73 5f 44 79 6e 61 6d 69 63 24 7b 69 64 7d 5c \s_Dynamic${id}\
4060: 72 5c 6e 5c 73 5c 73 5c 73 5c 73 7b 5c 72 5c 6e  r\n\s\s\s\s{\r\n
4070: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 70 75 62 6c  \s\s\s\s\s\spubl
4080: 69 63 5c 73 63 6c 61 73 73 5c 73 54 65 73 74 24  ic\sclass\sTest$4090: 7b 69 64 7d 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 {id}\r\n\s\s\s\s 40a0: 5c 73 5c 73 7b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c \s\s{\r\n\s\s\s\ 40b0: 73 5c 73 5c 73 5c 73 5c 73 70 75 62 6c 69 63 5c s\s\s\s\spublic\ 40c0: 73 73 74 61 74 69 63 5c 73 76 6f 69 64 5c 73 4d sstatic\svoid\sM 40d0: 61 69 6e 28 29 5c 72 5c 6e 5c 73 5c 73 5c 73 5c ain()\r\n\s\s\s\ 40e0: 73 5c 73 5c 73 5c 73 5c 73 7b 5c 72 5c 6e 5c 73 s\s\s\s\s{\r\n\s 40f0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 \s\s\s\s\s\s\s\s 4100: 5c 73 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 \sSQLiteConnecti 4110: 6f 6e 53 74 72 69 6e 67 42 75 69 6c 64 65 72 5c onStringBuilder\ 4120: 73 63 6f 6e 6e 53 74 72 5c 73 3d 5c 72 5c 6e 5c sconnStr\s=\r\n\ 4130: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c s\s\s\s\s\s\s\s\ 4140: 73 5c 73 5c 73 5c 73 5c 73 5c 73 6e 65 77 5c 73 s\s\s\s\s\snew\s 4150: 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e SQLiteConnection 4160: 53 74 72 69 6e 67 42 75 69 6c 64 65 72 28 29 3b StringBuilder(); 4170: 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 \r\n\r\n\s\s\s\s 4180: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 63 6f 6e 6e \s\s\s\s\s\sconn 4190: 53 74 72 2e 44 61 74 61 53 6f 75 72 63 65 5c 73 Str.DataSource\s 41a0: 3d 5c 73 22 24 7b 64 61 74 61 53 6f 75 72 63 65 =\s"${dataSource
41b0: 7d 22 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c  }";\r\n\s\s\s\s\
41c0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 63 6f 6e 6e 53  s\s\s\s\s\sconnS
41d0: 74 72 2e 56 65 72 73 69 6f 6e 5c 73 3d 5c 73 33  tr.Version\s=\s3
41e0: 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c  ;\r\n\s\s\s\s\s\
41f0: 73 5c 73 5c 73 5c 73 5c 73 63 6f 6e 6e 53 74 72  s\s\s\s\sconnStr
4200: 2e 44 61 74 65 54 69 6d 65 4b 69 6e 64 5c 73 3d  .DateTimeKind\s=
4210: 5c 73 44 61 74 65 54 69 6d 65 4b 69 6e 64 2e 4c  \sDateTimeKind.L
4220: 6f 63 61 6c 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c  ocal;\r\n\s\s\s\
4230: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 63 6f 6e  s\s\s\s\s\s\scon
4240: 6e 53 74 72 2e 44 61 74 65 54 69 6d 65 46 6f 72  nStr.DateTimeFor
4250: 6d 61 74 5c 73 3d 5c 73 53 51 4c 69 74 65 44 61  mat\s=\sSQLiteDa
4260: 74 65 46 6f 72 6d 61 74 73 2e 4a 75 6c 69 61 6e  teFormats.Julian
4270: 44 61 79 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73  Day;\r\n\s\s\s\s
4280: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 63 6f 6e 6e  \s\s\s\s\s\sconn
4290: 53 74 72 2e 46 6c 61 67 73 5c 73 3d 5c 73 53 51  Str.Flags\s=\sSQ
42a0: 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 46 6c  LiteConnectionFl
42b0: 61 67 73 2e 4c 6f 67 50 72 65 70 61 72 65 3b 5c  ags.LogPrepare;\
42c0: 72 5c 6e 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c  r\n\r\n\s\s\s\s\
42d0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 75 73 69 6e 67  s\s\s\s\s\susing
42e0: 5c 73 28 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74  \s(SQLiteConnect
42f0: 69 6f 6e 5c 73 63 6f 6e 6e 65 63 74 69 6f 6e 5c  ion\sconnection\
4300: 73 3d 5c 73 6e 65 77 5c 73 53 51 4c 69 74 65 43  s=\snew\sSQLiteC
4310: 6f 6e 6e 65 63 74 69 6f 6e 28 5c 72 5c 6e 5c 73  onnection(\r\n\s
4320: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4330: 5c 73 5c 73 5c 73 5c 73 5c 73 63 6f 6e 6e 53 74  \s\s\s\s\sconnSt
4340: 72 2e 54 6f 53 74 72 69 6e 67 28 29 29 29 5c 72  r.ToString()))\r
4350: 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \n\s\s\s\s\s\s\s
4360: 5c 73 5c 73 5c 73 7b 5c 72 5c 6e 5c 73 5c 73 5c  \s\s\s{\r\n\s\s\
4370: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
4380: 73 5c 73 63 6f 6e 6e 65 63 74 69 6f 6e 2e 4f 70  s\sconnection.Op
4390: 65 6e 28 29 3b 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c  en();\r\n\r\n\s\
43a0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
43b0: 73 5c 73 5c 73 75 73 69 6e 67 5c 73 28 53 51 4c  s\s\susing\s(SQL
43c0: 69 74 65 43 6f 6d 6d 61 6e 64 5c 73 63 6f 6d 6d  iteCommand\scomm
43d0: 61 6e 64 5c 73 3d 5c 73 63 6f 6e 6e 65 63 74 69  and\s=\sconnecti
43e0: 6f 6e 2e 43 72 65 61 74 65 43 6f 6d 6d 61 6e 64  on.CreateCommand
43f0: 28 29 29 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c  ())\r\n\s\s\s\s\
4400: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 7b  s\s\s\s\s\s\s\s{
4410: 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \r\n\s\s\s\s\s\s
4420: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4430: 63 6f 6d 6d 61 6e 64 2e 43 6f 6d 6d 61 6e 64 54  command.CommandT
4440: 65 78 74 5c 73 3d 5c 73 22 24 7b 73 71 6c 28 31  ext\s=\s"${sql(1 4450: 29 7d 22 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 )}";\r\n\s\s\s\s 4460: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 \s\s\s\s\s\s\s\s 4470: 5c 73 5c 73 63 6f 6d 6d 61 6e 64 2e 45 78 65 63 \s\scommand.Exec 4480: 75 74 65 4e 6f 6e 51 75 65 72 79 28 29 3b 5c 72 uteNonQuery();\r 4490: 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 \n\s\s\s\s\s\s\s 44a0: 5c 73 5c 73 5c 73 5c 73 5c 73 7d 5c 72 5c 6e 5c \s\s\s\s\s}\r\n\ 44b0: 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c r\n\s\s\s\s\s\s\ 44c0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 75 73 69 6e 67 s\s\s\s\s\susing 44d0: 5c 73 28 53 51 4c 69 74 65 44 61 74 61 41 64 61 \s(SQLiteDataAda 44e0: 70 74 65 72 5c 73 64 61 74 61 41 64 61 70 74 65 pter\sdataAdapte 44f0: 72 5c 73 3d 5c 73 6e 65 77 5c 73 53 51 4c 69 74 r\s=\snew\sSQLit 4500: 65 44 61 74 61 41 64 61 70 74 65 72 28 5c 72 5c eDataAdapter(\r\ 4510: 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c n\s\s\s\s\s\s\s\ 4520: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c s\s\s\s\s\s\s\s\ 4530: 73 22 24 7b 73 71 6c 28 32 29 7d 22 2c 5c 73 63 s"${sql(2)}",\sc
4540: 6f 6e 6e 65 63 74 69 6f 6e 29 29 5c 72 5c 6e 5c  onnection))\r\n\
4550: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
4560: 73 5c 73 5c 73 5c 73 7b 5c 72 5c 6e 5c 73 5c 73  s\s\s\s{\r\n\s\s
4570: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4580: 5c 73 5c 73 5c 73 5c 73 75 73 69 6e 67 5c 73 28  \s\s\s\susing\s(
4590: 44 61 74 61 53 65 74 5c 73 64 61 74 61 53 65 74  DataSet\sdataSet
45a0: 5c 73 3d 5c 73 6e 65 77 5c 73 44 61 74 61 53 65  \s=\snew\sDataSe
45b0: 74 28 29 29 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73  t())\r\n\s\s\s\s
45c0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
45d0: 5c 73 5c 73 7b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c  \s\s{\r\n\s\s\s\
45e0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
45f0: 73 5c 73 5c 73 5c 73 5c 73 64 61 74 61 41 64 61  s\s\s\s\sdataAda
4600: 70 74 65 72 2e 46 69 6c 6c 28 64 61 74 61 53 65  pter.Fill(dataSe
4610: 74 2c 5c 73 22 74 31 22 29 3b 5c 72 5c 6e 5c 72  t,\s"t1");\r\n\r
4620: 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \n\s\s\s\s\s\s\s
4630: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4640: 5c 73 44 61 74 61 54 61 62 6c 65 5c 73 64 61 74  \sDataTable\sdat
4650: 61 54 61 62 6c 65 5c 73 3d 5c 73 64 61 74 61 53  aTable\s=\sdataS
4660: 65 74 2e 54 61 62 6c 65 73 5c 5c 5b 22 74 31 22  et.Tables\$"t1" 4670: 5c 5c 5d 3b 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c 73 \$;\r\n\r\n\s\s
4680: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4690: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 64 61 74 61  \s\s\s\s\s\sdata
46a0: 54 61 62 6c 65 2e 43 6f 6c 75 6d 6e 73 5c 5c 5b  Table.Columns\$46b0: 22 79 22 5c 5c 5d 2e 55 6e 69 71 75 65 5c 73 3d "y"\$.Unique\s=
46c0: 5c 73 74 72 75 65 3b 5c 72 5c 6e 5c 73 5c 73 5c  \strue;\r\n\s\s\
46d0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
46e0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 64 61 74 61 54  s\s\s\s\s\sdataT
46f0: 61 62 6c 65 2e 50 72 69 6d 61 72 79 4b 65 79 5c  able.PrimaryKey\
4700: 73 3d 5c 73 6e 65 77 5c 73 44 61 74 61 43 6f 6c  s=\snew\sDataCol
4710: 75 6d 6e 5c 5c 5b 5c 5c 5d 5c 73 7b 5c 72 5c 6e  umn\$\$\s{\r\n
4720: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4730: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4740: 5c 73 5c 73 64 61 74 61 54 61 62 6c 65 2e 43 6f  \s\sdataTable.Co
4750: 6c 75 6d 6e 73 5c 5c 5b 22 79 22 5c 5c 5d 5c 72  lumns\$"y"\$\r
4760: 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \n\s\s\s\s\s\s\s
4770: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4780: 5c 73 7d 3b 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c 73  \s};\r\n\r\n\s\s
4790: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
47a0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5b 65 78 70  \s\s\s\s\s\s[exp
47b0: 72 5c 73 7b 5b 69 73 4d 6f 6e 6f 5d 5c 73 3f 5c  r\s{[isMono]\s?\
47c0: 73 22 23 70 72 61 67 6d 61 5c 73 77 61 72 6e 69  s"#pragma\swarni
47d0: 6e 67 5c 73 64 69 73 61 62 6c 65 5c 73 32 31 39  ng\sdisable\s219
47e0: 22 5c 73 3a 5c 73 22 22 7d 5d 5c 72 5c 6e 5c 73  "\s:\s""}]\r\n\s
47f0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4800: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 53 51  \s\s\s\s\s\s\sSQ
4810: 4c 69 74 65 43 6f 6d 6d 61 6e 64 42 75 69 6c 64  LiteCommandBuild
4820: 65 72 5c 73 63 6f 6d 6d 61 6e 64 42 75 69 6c 64  er\scommandBuild
4830: 65 72 5c 73 3d 5c 72 5c 6e 5c 73 5c 73 5c 73 5c  er\s=\r\n\s\s\s\
4840: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
4850: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
4860: 73 6e 65 77 5c 73 53 51 4c 69 74 65 43 6f 6d 6d  snew\sSQLiteComm
4870: 61 6e 64 42 75 69 6c 64 65 72 28 64 61 74 61 41  andBuilder(dataA
4880: 64 61 70 74 65 72 29 3b 5c 72 5c 6e 5c 73 5c 73  dapter);\r\n\s\s
4890: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
48a0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5b 65 78 70  \s\s\s\s\s\s[exp
48b0: 72 5c 73 7b 5b 69 73 4d 6f 6e 6f 5d 5c 73 3f 5c  r\s{[isMono]\s?\
48c0: 73 22 23 70 72 61 67 6d 61 5c 73 77 61 72 6e 69  s"#pragma\swarni
48d0: 6e 67 5c 73 72 65 73 74 6f 72 65 5c 73 32 31 39  ng\srestore\s219
48e0: 22 5c 73 3a 5c 73 22 22 7d 5d 5c 72 5c 6e 5c 72  "\s:\s""}]\r\n\r
48f0: 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \n\s\s\s\s\s\s\s
4900: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4910: 5c 73 66 6f 72 5c 73 28 69 6e 74 5c 73 69 6e 64  \sfor\s(int\sind
4920: 65 78 5c 73 3d 5c 73 30 3b 5c 73 69 6e 64 65 78  ex\s=\s0;\sindex
4930: 5c 73 3c 5c 73 64 61 74 61 54 61 62 6c 65 2e 52  \s<\sdataTable.R
4940: 6f 77 73 2e 43 6f 75 6e 74 5c 73 2d 5c 73 31 3b  ows.Count\s-\s1;
4950: 5c 73 69 6e 64 65 78 2b 2b 29 5c 72 5c 6e 5c 73  \sindex++)\r\n\s
4960: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4970: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 7b 5c  \s\s\s\s\s\s\s{\
4980: 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  r\n\s\s\s\s\s\s\
4990: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
49a0: 73 5c 73 5c 73 5c 73 53 79 73 74 65 6d 2e 54 68  s\s\s\sSystem.Th
49b0: 72 65 61 64 69 6e 67 2e 54 68 72 65 61 64 2e 53  reading.Thread.S
49c0: 6c 65 65 70 28 31 30 30 30 29 3b 5c 72 5c 6e 5c  leep(1000);\r\n\
49d0: 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  r\n\s\s\s\s\s\s\
49e0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
49f0: 73 5c 73 5c 73 5c 73 64 61 74 61 54 61 62 6c 65  s\s\s\sdataTable
4a00: 2e 52 6f 77 73 5c 5c 5b 69 6e 64 65 78 5c 5c 5d  .Rows\$index\$
4a10: 5c 5c 5b 22 79 22 5c 5c 5d 5c 73 3d 5c 72 5c 6e  \$"y"\$\s=\r\n
4a20: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4a30: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4a40: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 44 61 74 65  \s\s\s\s\s\sDate
4a50: 54 69 6d 65 2e 4e 6f 77 2e 54 6f 53 74 72 69 6e  Time.Now.ToStrin
4a60: 67 28 22 5b 67 65 74 44 61 74 65 54 69 6d 65 46  g("[getDateTimeF
4a70: 6f 72 6d 61 74 5d 22 29 3b 5c 72 5c 6e 5c 72 5c  ormat]");\r\n\r\
4a80: 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  n\s\s\s\s\s\s\s\
4a90: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
4aa0: 73 5c 73 5c 73 64 61 74 61 54 61 62 6c 65 2e 52  s\s\sdataTable.R
4ab0: 6f 77 73 5c 5c 5b 69 6e 64 65 78 5c 5c 5d 5c 5c  ows\$index\$\\
4ac0: 5b 22 7a 22 5c 5c 5d 5c 73 3d 5c 72 5c 6e 5c 73  ["z"\\]\s=\r\n\s
4ad0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4ae0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4af0: 5c 73 5c 73 5c 73 5c 73 5c 73 28 64 6f 75 62 6c  \s\s\s\s\s(doubl
4b00: 65 29 64 61 74 61 54 61 62 6c 65 2e 52 6f 77 73  e)dataTable.Rows
4b10: 5c 5c 5b 69 6e 64 65 78 5c 5c 5d 5c 5c 5b 22 7a  \$index\$\$"z 4b20: 22 5c 5c 5d 5c 73 2b 5c 73 31 2e 31 32 33 3b 5c "\$\s+\s1.123;\
4b30: 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  r\n\s\s\s\s\s\s\
4b40: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
4b50: 73 5c 73 7d 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c 73  s\s}\r\n\r\n\s\s
4b60: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4b70: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 64 61 74 61  \s\s\s\s\s\sdata
4b80: 41 64 61 70 74 65 72 2e 55 70 64 61 74 65 28 64  Adapter.Update(d
4b90: 61 74 61 54 61 62 6c 65 29 3b 5c 73 2f 2f 5c 73  ataTable);\s//\s
4ba0: 44 42 43 6f 6e 63 75 72 72 65 6e 63 79 45 78 63  DBConcurrencyExc
4bb0: 65 70 74 69 6f 6e 5c 73 28 3f 29 5c 72 5c 6e 5c  eption\s(?)\r\n\
4bc0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
4bd0: 73 5c 73 5c 73 5c 73 5c 73 5c 73 7d 5c 72 5c 6e  s\s\s\s\s\s}\r\n
4be0: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4bf0: 5c 73 5c 73 5c 73 5c 73 7d 5c 72 5c 6e 5c 73 5c  \s\s\s\s}\r\n\s\
4c00: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c  s\s\s\s\s\s\s\s\
4c10: 73 7d 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73  s}\r\n\s\s\s\s\s
4c20: 5c 73 5c 73 5c 73 7d 5c 72 5c 6e 5c 73 5c 73 5c  \s\s\s}\r\n\s\s\
4c30: 73 5c 73 5c 73 5c 73 7d 5c 72 5c 6e 5c 73 5c 73  s\s\s\s}\r\n\s\s
4c40: 5c 73 5c 73 7d 5c 72 5c 6e 5c 73 5c 73 7d 5d 5c  \s\s}\r\n\s\s}]\
4c50: 73 74 72 75 65 5c 73 74 72 75 65 5c 73 74 72 75  strue\strue\stru
4c60: 65 5c 73 72 65 73 75 6c 74 73 5c 73 65 72 72 6f  e\sresults\serro
4c70: 72 73 5c 73 53 79 73 74 65 6d 2e 44 61 74 61 2e  rs\sSystem.Data.
4c80: 53 51 4c 69 74 65 2e 64 6c 6c 5d 5c 72 5c 6e 5c  SQLite.dll]\r\n\
4c90: 72 5c 6e 5c 73 5c 73 6c 69 73 74 5c 73 24 63 6f  r\n\s\slist\s$co 4ca0: 64 65 5c 73 24 72 65 73 75 6c 74 73 5c 73 5c 5c de\s$results\s\\
4cb0: 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \r\n\s\s\s\s\s\s
4cc0: 5b 65 78 70 72 5c 73 7b 5b 69 6e 66 6f 5c 73 65  [expr\s{[info\se
4cd0: 78 69 73 74 73 5c 73 65 72 72 6f 72 73 5d 5c 73  xists\serrors]\s
4ce0: 3f 5c 73 24 65 72 72 6f 72 73 5c 73 3a 5c 73 22  ?\s$errors\s:\s" 4cf0: 22 7d 5d 5c 73 5c 5c 5c 72 5c 6e 5c 73 5c 73 5c "}]\s\\\r\n\s\s\ 4d00: 73 5c 73 5c 73 5c 73 5b 65 78 70 72 5c 73 7b 24 s\s\s\s[expr\s{$
4d10: 63 6f 64 65 5c 73 65 71 5c 73 22 4f 6b 22 5c 73  code\seq\s"Ok"\s
4d20: 3f 5c 73 5b 63 61 74 63 68 5c 73 7b 5c 72 5c 6e  ?\s[catch\s{\r\n
4d30: 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \s\s\s\s\s\s\s\s
4d40: 6f 62 6a 65 63 74 5c 73 69 6e 76 6f 6b 65 5c 73  object\sinvoke\s
4d50: 5f 44 79 6e 61 6d 69 63 24 7b 69 64 7d 2e 54 65  _Dynamic${id}.Te 4d60: 73 74 24 7b 69 64 7d 5c 73 4d 61 69 6e 5c 72 5c st${id}\sMain\r\
4d70: 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 7d 5c 73  n\s\s\s\s\s\s}\s
4d80: 72 65 73 75 6c 74 5d 5c 73 3a 5c 73 5b 73 65 74  result]\s:\s[set
4d90: 5c 73 72 65 73 75 6c 74 5c 73 22 22 5d 7d 5d 5c  \sresult\s""]}]\
4da0: 73 24 72 65 73 75 6c 74 5c 72 5c 6e 7d 5c 73 2d  s$result\r\n}\s- 4db0: 63 6c 65 61 6e 75 70 5c 73 7b 5c 72 5c 6e 5c 73 cleanup\s{\r\n\s 4dc0: 5c 73 63 6c 65 61 6e 75 70 44 62 5c 73 24 66 69 \scleanupDb\s$fi
4dd0: 6c 65 4e 61 6d 65 5c 72 5c 6e 5c 72 5c 6e 5c 73  leName\r\n\r\n\s
4de0: 5c 73 75 6e 73 65 74 5c 73 2d 6e 6f 63 6f 6d 70  \sunset\s-nocomp
4df0: 6c 61 69 6e 5c 73 72 65 73 75 6c 74 5c 73 63 6f  lain\sresult\sco
4e00: 64 65 5c 73 72 65 73 75 6c 74 73 5c 73 65 72 72  de\sresults\serr
4e10: 6f 72 73 5c 73 73 71 6c 5c 73 64 61 74 61 53 6f  ors\ssql\sdataSo
4e20: 75 72 63 65 5c 73 69 64 5c 73 64 62 5c 73 66 69  urce\sid\sdb\sfi
4e30: 6c 65 4e 61 6d 65 5c 72 5c 6e 7d 5c 73 2d 63 6f  leName\r\n}\s-co
4e40: 6e 73 74 72 61 69 6e 74 73 5c 73 5c 5c 5c 72 5c  nstraints\s\\\r\
4e50: 6e 7b 65 61 67 6c 65 5c 73 6d 6f 6e 6f 42 75 67  n{eagle\smonoBug
4e60: 32 38 5c 73 63 6f 6d 6d 61 6e 64 2e 73 71 6c 5c  28\scommand.sql\
4e70: 73 63 6f 6d 70 69 6c 65 2e 44 41 54 41 5c 73 53  scompile.DATA\sS
4e80: 51 4c 69 74 65 5c 73 53 79 73 74 65 6d 2e 44 61  QLite\sSystem.Da
4e90: 74 61 2e 53 51 4c 69 74 65 7d 5c 73 2d 6d 61 74  ta.SQLite}\s-mat
4ea0: 63 68 5c 73 5c 5c 5c 72 5c 6e 72 65 67 65 78 70  ch\s\\\r\nregexp
4eb0: 5c 73 2d 72 65 73 75 6c 74 5c 73 7b 5e 4f 6b 5c  \s-result\s{^Ok\
4ec0: 73 53 79 73 74 65 6d 23 43 6f 64 65 44 6f 6d 23  sSystem#CodeDom#
4ed0: 43 6f 6d 70 69 6c 65 72 23 43 6f 6d 70 69 6c 65  Compiler#Compile
4ee0: 72 52 65 73 75 6c 74 73 23 5c 5c 64 2b 5c 73 5c  rResults#\\d+\s\
4ef0: 5c 7b 5c 5c 7d 5c 73 30 5c 73 5c 5c 7b 5c 5c 7d  \{\\}\s0\s\\{\\}
4f00: 24 7d 7d 5c 72 5c 6e 3c 2f 76 65 72 62 61 74 69  \$}}\r\n</verbati
4f10: 6d 3e 5c 72 5c 6e 5c 72 5c 6e 5c 72 5c 6e 3c 68  m>\r\n\r\n\r\n<h
4f20: 72 5c 73 2f 3e 3c 69 3e 6d 69 73 74 61 63 68 6b  r\s/><i>mistachk
4f30: 69 6e 5c 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32  in\sadded\son\s2
4f40: 30 31 32 2d 30 32 2d 31 30 5c 73 31 39 3a 31 33  012-02-10\s19:13
4f50: 3a 35 36 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62 72  :56\sUTC:</i><br
4f60: 5c 73 2f 3e 5c 72 5c 6e 42 79 5c 73 61 6e 79 5c  \s/>\r\nBy\sany\
4f70: 73 63 68 61 6e 63 65 2c 5c 73 69 73 5c 73 74 68  schance,\sis\sth
4f80: 65 72 65 5c 73 61 6e 6f 74 68 65 72 5c 73 74 68  ere\sanother\sth
4f90: 72 65 61 64 5c 73 6f 72 5c 73 70 72 6f 63 65 73  read\sor\sproces
4fa0: 73 5c 73 6d 6f 64 69 66 79 69 6e 67 5c 73 74 68  s\smodifying\sth
4fb0: 65 5c 73 64 61 74 61 62 61 73 65 5c 73 61 74 5c  e\sdatabase\sat\
4fc0: 73 74 68 65 5c 73 73 61 6d 65 5c 73 74 69 6d 65  sthe\ssame\stime
4fd0: 5c 73 61 73 5c 73 74 68 65 5c 73 64 61 74 61 5c  \sas\sthe\sdata\
4fe0: 73 61 64 61 70 74 65 72 5c 73 69 73 5c 73 74 72  sadapter\sis\str
4ff0: 79 69 6e 67 5c 73 74 6f 3f 5c 72 5c 6e 5c 72 5c  ying\sto?\r\n\r\
5000: 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 61 6e 6f 6e 79  n<hr\s/><i>anony
5010: 6d 6f 75 73 5c 73 61 64 64 65 64 5c 73 6f 6e 5c  mous\sadded\son\
5020: 73 32 30 31 32 2d 30 32 2d 31 34 5c 73 30 37 3a  s2012-02-14\s07:
5030: 33 33 3a 34 36 5c 73 55 54 43 3a 3c 2f 69 3e 3c  33:46\sUTC:</i><
5040: 62 72 5c 73 2f 3e 5c 72 5c 6e 49 27 76 65 5c 73  br\s/>\r\nI've\s
5050: 73 65 6e 74 5c 73 61 6e 5c 73 65 6d 61 69 6c 5c  sent\san\semail\
5060: 73 74 6f 5c 73 73 71 6c 69 74 65 2d 64 65 76 5c  sto\ssqlite-dev\
5070: 73 77 69 74 68 5c 73 65 78 61 6d 70 6c 65 5c 73  swith\sexample\s
5080: 63 6f 64 65 5c 73 61 6e 5c 73 61 5c 73 64 62 2d  code\san\sa\sdb-
5090: 66 69 6c 65 5c 73 77 68 69 63 68 5c 73 67 65 6e  file\swhich\sgen
50a0: 65 72 61 74 65 73 5c 73 74 68 65 5c 73 65 78 63  erates\sthe\sexc
50b0: 65 70 74 69 6f 6e 2e 5c 73 44 69 64 5c 73 79 6f  eption.\sDid\syo
50c0: 75 5c 73 73 65 65 5c 73 69 74 5c 73 3f 5c 72 5c  u\ssee\sit\s?\r\
50d0: 6e 5c 72 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 6d  n\r\n<hr\s/><i>m
50e0: 69 73 74 61 63 68 6b 69 6e 5c 73 61 64 64 65 64  istachkin\sadded
50f0: 5c 73 6f 6e 5c 73 32 30 31 32 2d 30 32 2d 31 34  \son\s2012-02-14
5100: 5c 73 30 39 3a 35 39 3a 30 31 5c 73 55 54 43 3a  \s09:59:01\sUTC:
5110: 3c 2f 69 3e 3c 62 72 5c 73 2f 3e 5c 72 5c 6e 49  </i><br\s/>\r\nI
5120: 5c 73 68 61 76 65 6e 27 74 5c 73 73 65 65 6e 5c  \shaven't\sseen\
5130: 73 69 74 5c 73 79 65 74 2e 5c 73 5c 73 41 6c 73  sit\syet.\s\sAls
5140: 6f 2c 5c 73 73 69 6e 63 65 5c 73 74 68 65 5c 73  o,\ssince\sthe\s
5150: 6d 61 69 6c 69 6e 67 5c 73 6c 69 73 74 5c 73 73  mailing\slist\ss
5160: 74 72 69 70 73 5c 73 61 74 74 61 63 68 6d 65 6e  trips\sattachmen
5170: 74 73 2c 5c 73 69 74 5c 73 6d 69 67 68 74 5c 73  ts,\sit\smight\s
5180: 62 65 5c 73 62 65 73 74 5c 73 74 6f 5c 73 75 70  be\sbest\sto\sup
5190: 6c 6f 61 64 5c 73 69 74 5c 73 73 6f 6d 65 77 68  load\sit\ssomewh
51a0: 65 72 65 5c 73 70 75 62 6c 69 63 5c 73 28 65 2e  ere\spublic\s(e.
51b0: 67 2e 5c 73 44 72 6f 70 62 6f 78 29 5c 73 61 6e  g.\sDropbox)\san
51c0: 64 5c 73 74 68 65 6e 5c 73 70 72 6f 76 69 64 65  d\sthen\sprovide
51d0: 5c 73 61 5c 73 6c 69 6e 6b 5c 73 74 6f 5c 73 69  \sa\slink\sto\si
51e0: 74 5c 73 69 6e 5c 73 74 68 65 5c 73 65 6d 61 69  t\sin\sthe\semai
51f0: 6c 2e 5c 72 5c 6e 5c 72 5c 6e 3c 68 72 5c 73 2f  l.\r\n\r\n<hr\s/
5200: 3e 3c 69 3e 61 6e 6f 6e 79 6d 6f 75 73 5c 73 61  ><i>anonymous\sa
5210: 64 64 65 64 5c 73 6f 6e 5c 73 32 30 31 32 2d 30  dded\son\s2012-0
5220: 32 2d 31 34 5c 73 31 31 3a 34 37 3a 30 32 5c 73  2-14\s11:47:02\s
5230: 55 54 43 3a 3c 2f 69 3e 3c 62 72 5c 73 2f 3e 5c  UTC:</i><br\s/>\
5240: 72 5c 6e 68 65 72 65 5c 73 69 73 5c 73 74 68 65  r\nhere\sis\sthe
5250: 5c 73 6c 69 6e 6b 3a 5c 72 5c 6e 5c 72 5c 6e 64  \slink:\r\n\r\nd
5260: 62 2d 66 69 6c 65 3a 5c 73 5c 73 68 74 74 70 3a  b-file:\s\shttp:
5270: 2f 2f 64 6c 2e 64 72 6f 70 62 6f 78 2e 63 6f 6d  //dl.dropbox.com
5280: 2f 75 2f 36 32 32 30 36 33 33 35 2f 78 79 2e 64  /u/62206335/xy.d
5290: 62 33 5c 72 5c 6e 5c 72 5c 6e 63 6f 64 65 3a 5c  b3\r\n\r\ncode:\
52a0: 73 5c 73 5c 73 5c 73 68 74 74 70 3a 2f 2f 64 6c  s\s\s\shttp://dl
52b0: 2e 64 72 6f 70 62 6f 78 2e 63 6f 6d 2f 75 2f 36  .dropbox.com/u/6
52c0: 32 32 30 36 33 33 35 2f 63 6f 64 65 2e 74 78 74  2206335/code.txt
52d0: 5c 72 5c 6e 5c 72 5c 6e 49 5c 73 66 6f 75 6e 64  \r\n\r\nI\sfound
52e0: 5c 73 61 6e 6f 74 68 65 72 5c 73 73 74 72 61 6e  \sanother\sstran
52f0: 67 65 5c 73 62 65 68 61 76 69 6f 75 72 3a 5c 72  ge\sbehaviour:\r
5300: 5c 6e 74 68 65 5c 73 74 65 73 74 5c 73 63 6f 64  \nthe\stest\scod
5310: 65 5c 73 6c 69 6b 65 73 5c 73 74 6f 5c 73 6f 76  e\slikes\sto\sov
5320: 65 72 72 69 64 65 5c 73 74 68 65 5c 73 70 72 69  erride\sthe\spri
5330: 63 65 5c 73 77 69 74 68 5c 73 74 68 65 5c 73 76  ce\swith\sthe\sv
5340: 61 6c 75 65 5c 73 35 2e 31 32 33 2e 5c 72 5c 6e  alue\s5.123.\r\n
5350: 74 68 65 5c 73 66 69 72 73 74 5c 73 74 65 6e 5c  the\sfirst\sten\
5360: 73 72 6f 77 73 5c 73 61 72 65 5c 73 75 70 64 61  srows\sare\supda
5370: 74 65 64 5c 73 62 75 74 5c 73 77 69 74 68 5c 73  ted\sbut\swith\s
5380: 74 68 65 5c 73 76 61 6c 75 65 5c 73 35 2c 5c 73  the\svalue\s5,\s
5390: 6e 6f 74 5c 73 35 2e 31 32 33 2e 5c 72 5c 6e 54  not\s5.123.\r\nT
53a0: 68 65 6e 5c 73 74 68 65 5c 73 65 78 63 65 70 74  hen\sthe\sexcept
53b0: 69 6f 6e 5c 73 6f 63 63 75 72 73 2e 5c 72 5c 6e  ion\soccurs.\r\n
53c0: 28 69 74 27 73 5c 73 74 68 65 5c 73 73 61 6d 65  (it's\sthe\ssame
53d0: 5c 73 63 6f 64 65 5c 73 69 27 76 65 5c 73 73 65  \scode\si've\sse
53e0: 6e 74 5c 73 62 79 5c 73 65 6d 61 69 6c 29 5c 72  nt\sby\semail)\r
53f0: 5c 6e 5c 72 5c 6e 5c 72 5c 6e 3c 68 72 5c 73 2f  \n\r\n\r\n<hr\s/
5400: 3e 3c 69 3e 6d 69 73 74 61 63 68 6b 69 6e 5c 73  ><i>mistachkin\s
5410: 61 64 64 65 64 5c 73 6f 6e 5c 73 32 30 31 32 2d  added\son\s2012-
5420: 30 32 2d 31 34 5c 73 32 31 3a 34 37 3a 30 35 5c  02-14\s21:47:05\
5430: 73 55 54 43 3a 3c 2f 69 3e 3c 62 72 5c 73 2f 3e  sUTC:</i><br\s/>
5440: 5c 72 5c 6e 54 68 61 6e 6b 73 2e 5c 73 5c 73 49  \r\nThanks.\s\sI
5450: 5c 73 74 68 69 6e 6b 5c 73 79 6f 75 72 5c 73 65  \sthink\syour\se
5460: 78 61 6d 70 6c 65 5c 73 77 69 6c 6c 5c 73 62 65  xample\swill\sbe
5470: 5c 73 68 65 6c 70 66 75 6c 5c 73 69 6e 5c 73 74  \shelpful\sin\st
5480: 72 61 63 6b 69 6e 67 5c 73 74 68 69 73 5c 73 69  racking\sthis\si
5490: 73 73 75 65 5c 73 64 6f 77 6e 2e 5c 73 5c 73 41  ssue\sdown.\s\sA
54a0: 73 5c 73 66 6f 72 5c 73 74 68 65 5c 73 50 52 49  s\sfor\sthe\sPRI
54b0: 43 45 5c 73 69 73 73 75 65 2c 5c 73 74 68 65 5c  CE\sissue,\sthe\
54c0: 73 22 4e 55 4d 42 45 52 22 5c 73 63 6f 6c 75 6d  s"NUMBER"\scolum
54d0: 6e 5c 73 74 79 70 65 5c 73 69 73 5c 73 6e 6f 74  n\stype\sis\snot
54e0: 5c 73 72 65 63 6f 67 6e 69 7a 65 64 5c 73 62 79  \srecognized\sby
54f0: 5c 73 53 51 4c 69 74 65 5c 73 6e 6f 72 5c 73 53  \sSQLite\snor\sS
5500: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
5510: 65 2e 5c 73 5c 73 49 5c 73 77 6f 75 6c 64 5c 73  e.\s\sI\swould\s
5520: 75 73 65 5c 73 44 4f 55 42 4c 45 5c 73 6f 72 5c  use\sDOUBLE\sor\
5530: 73 52 45 41 4c 5c 73 69 6e 73 74 65 61 64 2e 5c  sREAL\sinstead.\
5540: 72 5c 6e 5c 72 5c 6e 5c 72 5c 6e 3c 68 72 5c 73  r\n\r\n\r\n<hr\s
5550: 2f 3e 3c 69 3e 6d 69 73 74 61 63 68 6b 69 6e 5c  /><i>mistachkin\
5560: 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32 30 31 32  sadded\son\s2012
5570: 2d 30 32 2d 31 34 5c 73 32 32 3a 31 34 3a 32 33  -02-14\s22:14:23
5580: 5c 73 55 54 43 3a 3c 2f 69 3e 3c 62 72 5c 73 2f  \sUTC:</i><br\s/
5590: 3e 5c 72 5c 6e 5c 72 5c 6e 49 74 5c 73 61 70 70  >\r\n\r\nIt\sapp
55a0: 65 61 72 73 5c 73 74 68 65 5c 73 6d 69 78 74 75  ears\sthe\smixtu
55b0: 72 65 5c 73 6f 66 5c 73 64 61 74 61 5c 73 69 6e  re\sof\sdata\sin
55c0: 5c 73 74 68 65 5c 73 64 61 74 61 62 61 73 65 5c  \sthe\sdatabase\
55d0: 73 63 6f 6d 62 69 6e 65 64 5c 73 77 69 74 68 5c  scombined\swith\
55e0: 73 74 68 65 5c 73 4e 55 4d 42 45 52 5c 73 63 6f  sthe\sNUMBER\sco
55f0: 6c 75 6d 6e 5c 73 74 79 70 65 5c 73 69 73 5c 73  lumn\stype\sis\s
5600: 74 68 65 5c 73 72 6f 6f 74 5c 73 63 61 75 73 65  the\sroot\scause
5610: 5c 73 6f 66 5c 73 74 68 65 5c 73 69 73 73 75 65  \sof\sthe\sissue
5620: 2e 5c 73 5c 73 46 6f 72 5c 73 65 78 61 6d 70 6c  .\s\sFor\sexampl
5630: 65 2c 5c 73 74 72 79 5c 73 74 68 69 73 5c 73 71  e,\stry\sthis\sq
5640: 75 65 72 79 5c 73 77 69 74 68 5c 73 79 6f 75 72  uery\swith\syour
5650: 5c 73 64 61 74 61 62 61 73 65 3a 5c 72 5c 6e 5c  \sdatabase:\r\n\
5660: 72 5c 6e 3c 76 65 72 62 61 74 69 6d 3e 5c 72 5c  r\n<verbatim>\r\
5670: 6e 5c 73 5c 73 5c 73 5c 73 53 45 4c 45 43 54 5c  n\s\s\s\sSELECT\
5680: 73 74 79 70 65 6f 66 28 50 52 49 43 45 29 5c 73  stypeof(PRICE)\s
5690: 46 52 4f 4d 5c 73 70 72 6f 64 75 63 74 3b 5c 72  FROM\sproduct;\r
56a0: 5c 6e 3c 2f 76 65 72 62 61 74 69 6d 3e 5c 72 5c  \n</verbatim>\r\
56b0: 6e 5c 72 5c 6e 4e 6f 74 69 63 65 5c 73 74 68 61  n\r\nNotice\stha
56c0: 74 5c 73 73 6f 6d 65 5c 73 6f 66 5c 73 74 68 65  t\ssome\sof\sthe
56d0: 5c 73 72 65 73 75 6c 74 73 5c 73 73 61 79 5c 73  \sresults\ssay\s
56e0: 22 69 6e 74 65 67 65 72 22 5c 73 61 6e 64 5c 73  "integer"\sand\s
56f0: 6f 74 68 65 72 73 5c 73 22 72 65 61 6c 22 2e 5c  others\s"real".\
5700: 73 5c 73 46 6f 72 5c 73 53 51 4c 69 74 65 2c 5c  s\sFor\sSQLite,\
5710: 73 74 68 69 73 5c 73 69 73 5c 73 6e 6f 74 5c 73  sthis\sis\snot\s
5720: 61 5c 73 62 69 67 5c 73 64 65 61 6c 2c 5c 73 73  a\sbig\sdeal,\ss
5730: 69 6e 63 65 5c 73 69 74 5c 73 77 69 6c 6c 5c 73  ince\sit\swill\s
5740: 73 69 6d 70 6c 79 5c 73 64 65 66 61 75 6c 74 5c  simply\sdefault\
5750: 73 74 68 65 5c 73 63 6f 6c 75 6d 6e 5c 73 61 66  sthe\scolumn\saf
5760: 66 69 6e 69 74 79 5c 73 74 6f 5c 73 54 45 58 54  finity\sto\sTEXT
5770: 3b 5c 73 68 6f 77 65 76 65 72 2c 5c 73 53 79 73  ;\showever,\sSys
5780: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 5c  tem.Data.SQLite\
5790: 73 75 73 65 73 5c 73 74 68 65 5c 73 63 6f 6c 75  suses\sthe\scolu
57a0: 6d 6e 5c 73 74 79 70 65 5c 73 69 6e 66 6f 72 6d  mn\stype\sinform
57b0: 61 74 69 6f 6e 5c 73 74 6f 5c 73 70 72 6f 76 69  ation\sto\sprovi
57c0: 64 65 5c 73 61 5c 73 6d 61 70 70 69 6e 67 5c 73  de\sa\smapping\s
57d0: 74 6f 5c 73 74 68 65 5c 73 61 63 74 75 61 6c 5c  to\sthe\sactual\
57e0: 73 2e 4e 45 54 5c 73 74 79 70 65 5c 73 61 6e 64  s.NET\stype\sand
57f0: 5c 73 64 61 74 61 62 61 73 65 5c 73 63 6f 6c 75  \sdatabase\scolu
5800: 6d 6e 5c 73 74 79 70 65 2e 5c 73 5c 73 49 6e 5c  mn\stype.\s\sIn\
5810: 73 74 68 65 5c 73 63 61 73 65 5c 73 6f 66 5c 73  sthe\scase\sof\s
5820: 22 4e 55 4d 42 45 52 22 2c 5c 73 69 74 5c 73 72  "NUMBER",\sit\sr
5830: 65 74 75 72 6e 73 5c 73 74 68 65 5c 73 64 65 66  eturns\sthe\sdef
5840: 61 75 6c 74 2c 5c 73 44 62 54 79 70 65 2e 4f 62  ault,\sDbType.Ob
5850: 6a 65 63 74 2e 5c 72 5c 6e 5c 72 5c 6e 41 74 5c  ject.\r\n\r\nAt\
5860: 73 74 68 61 74 5c 73 70 6f 69 6e 74 2c 5c 73 49  sthat\spoint,\sI
5870: 5c 73 74 68 69 6e 6b 5c 73 2e 4e 45 54 5c 73 61  \sthink\s.NET\sa
5880: 74 74 65 6d 70 74 73 5c 73 74 6f 5c 73 66 69 67  ttempts\sto\sfig
5890: 75 72 65 5c 73 6f 75 74 5c 73 74 68 65 5c 73 74  ure\sout\sthe\st
58a0: 79 70 65 5c 73 6f 66 5c 73 74 68 65 5c 73 63 6f  ype\sof\sthe\sco
58b0: 6c 75 6d 6e 5c 73 62 61 73 65 64 5c 73 6f 6e 5c  lumn\sbased\son\
58c0: 73 74 68 65 5c 73 64 61 74 61 5c 73 63 75 72 72  sthe\sdata\scurr
58d0: 65 6e 74 6c 79 5c 73 69 6e 5c 73 69 74 5c 73 66  ently\sin\sit\sf
58e0: 6f 72 5c 73 74 68 65 5c 73 72 6f 77 5c 73 28 74  or\sthe\srow\s(t
58f0: 68 69 73 5c 73 69 73 5c 73 6a 75 73 74 5c 73 61  his\sis\sjust\sa
5900: 6e 5c 73 65 64 75 63 61 74 65 64 5c 73 67 75 65  n\seducated\sgue
5910: 73 73 29 5c 73 61 6e 64 5c 73 74 68 65 6e 5c 73  ss)\sand\sthen\s
5920: 61 74 74 65 6d 70 74 73 5c 73 74 6f 5c 73 63 6f  attempts\sto\sco
5930: 6e 76 65 72 74 5c 73 74 68 65 5c 73 6e 65 77 5c  nvert\sthe\snew\
5940: 73 76 61 6c 75 65 5c 73 74 6f 5c 73 74 68 61 74  svalue\sto\sthat
5950: 5c 73 74 79 70 65 2e 5c 73 5c 73 49 66 5c 73 74  \stype.\s\sIf\st
5960: 68 65 5c 73 6e 65 77 5c 73 76 61 6c 75 65 5c 73  he\snew\svalue\s
5970: 65 6e 64 73 5c 73 75 70 5c 73 62 65 69 6e 67 5c  ends\sup\sbeing\
5980: 73 74 72 75 6e 63 61 74 65 64 5c 73 66 72 6f 6d  struncated\sfrom
5990: 5c 73 52 45 41 4c 5c 73 74 6f 5c 73 49 4e 54 45  \sREAL\sto\sINTE
59a0: 47 45 52 2c 5c 73 66 6f 72 5c 73 65 78 61 6d 70  GER,\sfor\sexamp
59b0: 6c 65 2c 5c 73 69 74 5c 73 63 6f 75 6c 64 5c 73  le,\sit\scould\s
59c0: 72 65 73 75 6c 74 5c 73 69 6e 5c 73 35 2e 31 32  result\sin\s5.12
59d0: 33 5c 73 62 65 63 6f 6d 69 6e 67 5c 73 35 2c 5c  3\sbecoming\s5,\
59e0: 73 61 73 5c 73 79 6f 75 5c 73 73 74 61 74 65 64  sas\syou\sstated
59f0: 2e 5c 73 5c 73 54 68 69 73 5c 73 6d 61 79 5c 73  .\s\sThis\smay\s
5a00: 63 61 75 73 65 5c 73 74 68 65 5c 73 65 78 63 65  cause\sthe\sexce
5a10: 70 74 69 6f 6e 2c 5c 73 66 6f 72 5c 73 65 78 61  ption,\sfor\sexa
5a20: 6d 70 6c 65 2c 5c 73 69 66 5c 73 74 68 65 5c 73  mple,\sif\sthe\s
5a30: 76 61 6c 75 65 5c 73 77 61 73 5c 73 61 63 74 75  value\swas\sactu
5a40: 61 6c 6c 79 5c 73 35 5c 73 74 6f 5c 73 73 74 61  ally\s5\sto\ssta
5a50: 72 74 5c 73 77 69 74 68 2e 5c 72 5c 6e 5c 72 5c  rt\swith.\r\n\r\
5a60: 6e 5c 72 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 6d  n\r\n<hr\s/><i>m
5a70: 69 73 74 61 63 68 6b 69 6e 5c 73 61 64 64 65 64  istachkin\sadded
5a80: 5c 73 6f 6e 5c 73 32 30 31 32 2d 30 32 2d 31 34  \son\s2012-02-14
5a90: 5c 73 32 32 3a 32 31 3a 33 31 5c 73 55 54 43 3a  \s22:21:31\sUTC:
5aa0: 3c 2f 69 3e 3c 62 72 5c 73 2f 3e 5c 72 5c 6e 46  </i><br\s/>\r\nF
5ab0: 6f 72 5c 73 74 68 65 5c 73 66 75 74 75 72 65 2c  or\sthe\sfuture,
5ac0: 5c 73 49 27 76 65 5c 73 61 64 64 65 64 5c 73 61  \sI've\sadded\sa
5ad0: 5c 73 54 72 61 63 65 5c 73 77 61 72 6e 69 6e 67  \sTrace\swarning
5ae0: 5c 73 28 69 6e 5c 73 74 68 65 5c 73 44 65 62 75  \s(in\sthe\sDebu
5af0: 67 5c 73 62 75 69 6c 64 5c 73 6f 6e 6c 79 29 5c  g\sbuild\sonly)\
5b00: 73 74 6f 5c 73 74 68 65 5c 73 74 79 70 65 5c 73  sto\sthe\stype\s
5b10: 6d 61 70 70 69 6e 67 5c 73 63 6f 64 65 2c 5c 73  mapping\scode,\s
5b20: 73 65 65 5c 73 63 68 65 63 6b 2d 69 6e 5c 73 5b  see\scheck-in\s[
5b30: 31 30 66 61 65 36 37 39 62 32 5d 2e 5c 72 5c 6e  10fae679b2].\r\n
5b40: 5c 72 5c 6e 5c 72 5c 6e 3c 68 72 5c 73 2f 3e 3c  \r\n\r\n<hr\s/><
5b50: 69 3e 61 6e 6f 6e 79 6d 6f 75 73 5c 73 61 64 64  i>anonymous\sadd
5b60: 65 64 5c 73 6f 6e 5c 73 32 30 31 32 2d 30 32 2d  ed\son\s2012-02-
5b70: 31 35 5c 73 30 37 3a 30 31 3a 35 35 5c 73 55 54  15\s07:01:55\sUT
5b80: 43 3a 3c 2f 69 3e 3c 62 72 5c 73 2f 3e 5c 72 5c  C:</i><br\s/>\r\
5b90: 6e 74 68 61 6e 6b 73 2e 5c 72 5c 6e 5c 72 5c 6e  nthanks.\r\n\r\n
5ba0: 61 6e 64 5c 73 6a 75 73 74 5c 73 66 6f 72 5c 73  and\sjust\sfor\s
5bb0: 79 6f 75 72 5c 73 69 6e 66 6f 72 6d 61 74 69 6f  your\sinformatio
5bc0: 6e 3a 5c 72 5c 6e 5c 72 5c 6e 79 6f 75 5c 73 61  n:\r\n\r\nyou\sa
5bd0: 6c 73 6f 5c 73 63 6c 6f 73 65 64 5c 73 74 69 63  lso\sclosed\stic
5be0: 6b 65 74 5c 73 5b 64 37 36 62 34 30 39 64 30 37  ket\s[d76b409d07
5bf0: 5d 5c 73 77 68 69 63 68 5c 73 77 61 73 5c 73 6e  ]\swhich\swas\sn
5c00: 6f 74 5c 73 6d 79 5c 73 74 69 63 6b 65 74 2e 5c  ot\smy\sticket.\
5c10: 72 5c 6e 28 61 6e 64 5c 73 74 68 69 73 5c 73 67  r\n(and\sthis\sg
5c20: 75 79 5c 73 75 73 65 73 5c 73 6f 6e 6c 79 5c 73  uy\suses\sonly\s
5c30: 76 61 72 63 68 61 72 73 5c 73 61 6e 64 5c 73 6f  varchars\sand\so
5c40: 6e 65 5c 73 69 6e 74 65 67 65 72 5c 73 70 72 69  ne\sinteger\spri
5c50: 6d 5c 73 6b 65 79 2c 5c 72 5c 6e 73 65 65 6d 73  m\skey,\r\nseems
5c60: 5c 73 74 68 61 74 5c 73 6d 79 5c 73 70 72 6f 62  \sthat\smy\sprob
5c70: 6c 65 6d 5c 73 69 73 5c 73 6e 6f 74 5c 73 68 69  lem\sis\snot\shi
5c80: 73 5c 73 70 72 6f 62 6c 65 6d 29 5c 72 5c 6e 5c  s\sproblem)\r\n\
5c90: 72 5c 6e 53 69 6d 6f 6e 5c 72 5c 6e 5c 72 5c 6e  r\nSimon\r\n\r\n
5ca0: 3c 68 72 5c 73 2f 3e 3c 69 3e 6d 69 73 74 61 63  <hr\s/><i>mistac
5cb0: 68 6b 69 6e 5c 73 61 64 64 65 64 5c 73 6f 6e 5c  hkin\sadded\son\
5cc0: 73 32 30 31 32 2d 30 32 2d 31 35 5c 73 30 37 3a  s2012-02-15\s07:
5cd0: 35 36 3a 30 34 5c 73 55 54 43 3a 3c 2f 69 3e 3c  56:04\sUTC:</i><
5ce0: 62 72 5c 73 2f 3e 5c 72 5c 6e 47 69 76 65 6e 5c  br\s/>\r\nGiven\
5cf0: 73 74 68 65 5c 73 72 61 74 68 65 72 5c 73 65 78  sthe\srather\sex
5d00: 74 65 6e 73 69 76 65 5c 73 61 6d 6f 75 6e 74 5c  tensive\samount\
5d10: 73 6f 66 5c 73 61 6e 61 6c 79 73 69 73 5c 73 61  sof\sanalysis\sa
5d20: 6e 64 5c 73 74 65 73 74 69 6e 67 5c 73 49 5c 73  nd\stesting\sI\s
5d30: 68 61 76 65 5c 73 63 6f 6e 64 75 63 74 65 64 5c  have\sconducted\
5d40: 73 6f 6e 5c 73 74 68 65 73 65 5c 73 63 6f 6e 63  son\sthese\sconc
5d50: 75 72 72 65 6e 63 79 5c 73 65 78 63 65 70 74 69  urrency\sexcepti
5d60: 6f 6e 5c 73 69 73 73 75 65 73 5c 73 61 6e 64 5c  on\sissues\sand\
5d70: 73 74 68 65 5c 73 66 61 63 74 5c 73 74 68 61 74  sthe\sfact\sthat
5d80: 5c 73 74 68 69 73 5c 73 74 69 63 6b 65 74 5c 73  \sthis\sticket\s
5d90: 61 6e 64 5c 73 61 6e 6f 74 68 65 72 5c 73 74 69  and\sanother\sti
5da0: 63 6b 65 74 5c 73 6c 69 6b 65 5c 73 69 74 5c 73  cket\slike\sit\s
5db0: 77 65 72 65 5c 73 62 6f 74 68 5c 73 63 61 75 73  were\sboth\scaus
5dc0: 65 64 5c 73 62 79 5c 73 64 61 74 61 5c 73 74 79  ed\sby\sdata\sty
5dd0: 70 65 5c 73 63 6f 6e 76 65 72 73 69 6f 6e 5c 73  pe\sconversion\s
5de0: 69 73 73 75 65 73 5c 73 6f 75 74 73 69 64 65 5c  issues\soutside\
5df0: 73 6f 66 5c 73 74 68 65 5c 73 64 69 72 65 63 74  sof\sthe\sdirect
5e00: 5c 73 63 6f 6e 74 72 6f 6c 5c 73 6f 66 5c 73 74  \scontrol\sof\st
5e10: 68 65 5c 73 6c 69 62 72 61 72 79 2c 5c 73 49 5c  he\slibrary,\sI\
5e20: 73 61 6d 5c 73 66 61 69 72 6c 79 5c 73 63 6f 6e  sam\sfairly\scon
5e30: 66 69 64 65 6e 74 5c 73 74 68 61 74 5c 73 74 68  fident\sthat\sth
5e40: 65 5c 73 66 69 6e 61 6c 5c 73 73 75 63 68 5c 73  e\sfinal\ssuch\s
5e50: 74 69 63 6b 65 74 2c 5c 73 5b 64 37 36 62 34 30  ticket,\s[d76b40
5e60: 39 64 30 37 5d 2c 5c 73 64 6f 65 73 5c 73 6e 6f  9d07],\sdoes\sno
5e70: 74 5c 73 61 63 74 75 61 6c 6c 79 5c 73 72 65 70  t\sactually\srep
5e80: 72 65 73 65 6e 74 5c 73 61 5c 73 72 65 61 6c 5c  resent\sa\sreal\
5e90: 73 69 73 73 75 65 5c 73 77 69 74 68 5c 73 53 51  sissue\swith\sSQ
5ea0: 4c 69 74 65 5c 73 6f 72 5c 73 53 79 73 74 65 6d  Lite\sor\sSystem
5eb0: 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 5c 73 5c  .Data.SQLite.\s\
5ec0: 73 54 68 61 74 5c 73 62 65 69 6e 67 5c 73 73 61  sThat\sbeing\ssa
5ed0: 69 64 2c 5c 73 69 66 5c 73 74 68 65 5c 73 6f 72  id,\sif\sthe\sor
5ee0: 69 67 69 6e 61 6c 5c 73 72 65 70 6f 72 74 65 72  iginal\sreporter
5ef0: 5c 73 64 69 73 63 6f 76 65 72 73 5c 73 6e 65 77  \sdiscovers\snew
5f00: 5c 73 69 6e 66 6f 72 6d 61 74 69 6f 6e 5c 73 6f  \sinformation\so
5f10: 72 5c 73 65 76 69 64 65 6e 63 65 5c 73 74 6f 5c  r\sevidence\sto\
5f20: 73 70 6f 69 6e 74 5c 73 74 6f 5c 73 61 6e 5c 73  spoint\sto\san\s
5f30: 61 63 74 75 61 6c 5c 73 69 73 73 75 65 2c 5c 73  actual\sissue,\s
5f40: 68 65 5c 73 63 61 6e 5c 73 61 6c 77 61 79 73 5c  he\scan\salways\
5f50: 73 72 65 2d 6f 70 65 6e 5c 73 74 68 65 5c 73 74  sre-open\sthe\st
5f60: 69 63 6b 65 74 2e 5c 72 5c 6e 5c 72 5c 6e 5c 72  icket.\r\n\r\n\r
5f70: 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 61 6e 6f 6e  \n<hr\s/><i>anon
5f80: 79 6d 6f 75 73 5c 73 61 64 64 65 64 5c 73 6f 6e  ymous\sadded\son
5f90: 5c 73 32 30 31 32 2d 30 32 2d 31 38 5c 73 31 31  \s2012-02-18\s11
5fa0: 3a 31 33 3a 33 37 5c 73 55 54 43 3a 3c 2f 69 3e  :13:37\sUTC:</i>
5fb0: 3c 62 72 5c 73 2f 3e 5c 72 5c 6e 69 66 5c 73 74  <br\s/>\r\nif\st
5fc0: 65 73 74 65 64 5c 73 2d 5c 73 6e 6f 5c 73 63 68  ested\s-\sno\sch
5fd0: 61 6e 67 65 73 2e 5c 72 5c 6e 5c 72 5c 6e 49 5c  anges.\r\n\r\nI\
5fe0: 73 73 74 61 72 74 65 64 5c 73 77 69 74 68 5c 73  sstarted\swith\s
5ff0: 61 5c 73 63 6f 6d 70 6c 65 74 65 5c 73 6e 65 77  a\scomplete\snew
6000: 5c 73 64 62 2d 66 69 6c 65 2c 5c 73 63 72 65 61  \sdb-file,\screa
6010: 74 65 64 5c 73 61 5c 73 74 61 62 6c 65 5c 73 70  ted\sa\stable\sp
6020: 72 6f 64 75 63 74 5c 73 77 69 74 68 5c 73 6f 6e  roduct\swith\son
6030: 65 5c 73 44 61 74 65 74 69 6d 65 5c 73 63 6f 6c  e\sDatetime\scol
6040: 75 6d 6e 2c 5c 73 6f 6e 65 5c 73 69 6e 74 65 67  umn,\sone\sinteg
6050: 65 72 5c 73 70 72 69 6d 5c 73 6b 65 79 5c 73 63  er\sprim\skey\sc
6060: 6f 6c 75 6d 6e 5c 73 61 6e 64 5c 73 74 68 65 6e  olumn\sand\sthen
6070: 5c 73 6f 6e 6c 79 5c 73 74 65 78 74 5c 73 61 6e  \sonly\stext\san
6080: 64 5c 73 72 65 61 6c 5c 73 63 6f 6c 75 6d 6e 73  d\sreal\scolumns
6090: 2e 5c 72 5c 6e 41 67 61 69 6e 5c 73 49 5c 73 69  .\r\nAgain\sI\si
60a0: 6e 73 65 72 74 65 64 5c 73 6d 79 5c 73 31 38 30  nserted\smy\s180
60b0: 5c 73 70 72 6f 64 75 63 74 73 2e 5c 72 5c 6e 5c  \sproducts.\r\n\
60c0: 72 5c 6e 61 66 74 65 72 5c 73 72 6f 75 6e 64 5c  r\nafter\sround\
60d0: 73 61 62 6f 75 74 5c 73 74 65 6e 5c 73 72 75 6e  sabout\sten\srun
60e0: 73 5c 73 6f 66 5c 73 6d 79 5c 73 70 72 6f 67 72  s\sof\smy\sprogr
60f0: 61 6d 5c 73 77 69 74 68 5c 73 65 61 63 68 5c 73  am\swith\seach\s
6100: 75 70 64 61 74 65 73 5c 73 72 6f 75 6e 64 5c 73  updates\sround\s
6110: 61 62 6f 75 74 5c 73 33 30 5c 73 72 6f 77 73 5c  about\s30\srows\
6120: 73 63 6f 72 72 65 63 74 6c 79 5c 73 77 69 74 68  scorrectly\swith
6130: 5c 73 6e 6f 5c 73 70 72 6f 62 6c 65 6d 73 5c 73  \sno\sproblems\s
6140: 74 68 65 5c 73 65 78 63 65 70 74 69 6f 6e 5c 73  the\sexception\s
6150: 6f 63 75 72 72 73 5c 73 61 67 61 69 6e 2c 5c 73  ocurrs\sagain,\s
6160: 68 61 76 69 6e 67 5c 73 75 70 64 61 74 65 64 5c  having\supdated\
6170: 73 6f 6e 6c 79 5c 73 31 35 5c 73 72 6f 77 73 2e  sonly\s15\srows.
6180: 5c 72 5c 6e 5c 72 5c 6e 72 75 6e 6e 69 6e 67 5c  \r\n\r\nrunning\
6190: 73 74 68 65 5c 73 67 69 76 65 6e 5c 73 63 6f 64  sthe\sgiven\scod
61a0: 65 5c 73 77 69 74 68 5c 73 74 68 65 5c 73 67 69  e\swith\sthe\sgi
61b0: 76 65 6e 5c 73 64 62 66 69 6c 65 5c 73 77 69 6c  ven\sdbfile\swil
61c0: 6c 5c 73 75 70 64 61 74 65 5c 73 61 67 61 69 6e  l\supdate\sagain
61d0: 5c 73 6f 6e 6c 79 5c 73 31 35 5c 73 72 6f 77 73  \sonly\s15\srows
61e0: 5c 73 62 65 66 6f 72 65 5c 73 74 68 65 5c 73 65  \sbefore\sthe\se
61f0: 78 63 65 70 74 69 6f 6e 5c 73 6f 63 63 75 72 73  xception\soccurs
6200: 2e 5c 72 5c 6e 5c 72 5c 6e 68 74 74 70 3a 2f 2f  .\r\n\r\nhttp://
6210: 64 6c 2e 64 72 6f 70 62 6f 78 2e 63 6f 6d 2f 75  dl.dropbox.com/u
6220: 2f 36 32 32 30 36 33 33 35 2f 63 6f 64 65 32 2e  /62206335/code2.
6230: 74 78 74 5c 72 5c 6e 5c 72 5c 6e 68 74 74 70 3a  txt\r\n\r\nhttp:
6240: 2f 2f 64 6c 2e 64 72 6f 70 62 6f 78 2e 63 6f 6d  //dl.dropbox.com
6250: 2f 75 2f 36 32 32 30 36 33 33 35 2f 63 6f 64 65  /u/62206335/code
6260: 32 2e 74 78 74 5c 72 5c 6e 5c 72 5c 6e 5c 72 5c  2.txt\r\n\r\n\r\
6270: 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 61 6e 6f 6e 79  n<hr\s/><i>anony
6280: 6d 6f 75 73 5c 73 61 64 64 65 64 5c 73 6f 6e 5c  mous\sadded\son\
6290: 73 32 30 31 32 2d 30 32 2d 31 38 5c 73 31 36 3a  s2012-02-18\s16:
62a0: 33 31 3a 33 33 5c 73 55 54 43 3a 3c 2f 69 3e 3c  31:33\sUTC:</i><
62b0: 62 72 5c 73 2f 3e 5c 72 5c 6e 63 6f 72 72 65 63  br\s/>\r\ncorrec
62c0: 74 5c 73 6c 69 6e 6b 73 3a 5c 72 5c 6e 5c 72 5c  t\slinks:\r\n\r\
62d0: 6e 68 74 74 70 3a 2f 2f 64 6c 2e 64 72 6f 70 62  nhttp://dl.dropb
62e0: 6f 78 2e 63 6f 6d 2f 75 2f 36 32 32 30 36 33 33  ox.com/u/6220633
62f0: 35 2f 63 6f 64 65 32 2e 74 78 74 5c 72 5c 6e 5c  5/code2.txt\r\n\
6300: 72 5c 6e 68 74 74 70 3a 2f 2f 64 6c 2e 64 72 6f  r\nhttp://dl.dro
6310: 70 62 6f 78 2e 63 6f 6d 2f 75 2f 36 32 32 30 36  pbox.com/u/62206
6320: 33 33 35 2f 61 62 63 2e 64 62 33 5c 72 5c 6e 5c  335/abc.db3\r\n\
6330: 72 5c 6e 3c 68 72 5c 73 2f 3e 3c 69 3e 6d 69 73  r\n<hr\s/><i>mis
6340: 74 61 63 68 6b 69 6e 5c 73 61 64 64 65 64 5c 73  tachkin\sadded\s
6350: 6f 6e 5c 73 32 30 31 32 2d 30 32 2d 31 39 5c 73  on\s2012-02-19\s
6360: 31 32 3a 31 30 3a 31 31 5c 73 55 54 43 3a 3c 2f  12:10:11\sUTC:</
6370: 69 3e 3c 62 72 5c 73 2f 3e 5c 72 5c 6e 41 66 74  i><br\s/>\r\nAft
6380: 65 72 5c 73 72 65 73 65 61 72 63 68 69 6e 67 5c  er\sresearching\
6390: 73 74 68 69 73 5c 73 69 73 73 75 65 2c 5c 73 69  sthis\sissue,\si
63a0: 74 5c 73 61 70 70 65 61 72 73 5c 73 74 6f 5c 73  t\sappears\sto\s
63b0: 62 65 5c 73 63 61 75 73 65 64 5c 73 62 79 5c 73  be\scaused\sby\s
63c0: 72 6f 75 6e 64 69 6e 67 5c 73 65 72 72 6f 72 73  rounding\serrors
63d0: 5c 73 69 6e 5c 73 74 68 65 5c 73 64 6f 75 62 6c  \sin\sthe\sdoubl
63e0: 65 5c 73 70 72 65 63 69 73 69 6f 6e 5c 73 76 61  e\sprecision\sva
63f0: 6c 75 65 73 5c 73 62 65 69 6e 67 5c 73 75 73 65  lues\sbeing\suse
6400: 64 5c 73 66 6f 72 5c 73 74 68 65 5c 73 4a 75 6c  d\sfor\sthe\sJul
6410: 69 61 6e 5c 73 44 61 79 5c 73 6e 75 6d 62 65 72  ian\sDay\snumber
6420: 73 2e 5c 73 5c 73 46 6f 72 5c 73 65 78 61 6d 70  s.\s\sFor\sexamp
6430: 6c 65 2c 5c 73 74 68 65 5c 73 55 50 44 41 54 45  le,\sthe\sUPDATE
6440: 5c 73 71 75 65 72 79 5c 73 67 65 6e 65 72 61 74  \squery\sgenerat
6450: 65 64 5c 73 62 79 5c 73 74 68 65 5c 73 2e 4e 45  ed\sby\sthe\s.NE
6460: 54 5c 73 46 72 61 6d 65 77 6f 72 6b 5c 73 64 61  T\sFramework\sda
6470: 74 61 5c 73 61 64 61 70 74 65 72 5c 73 73 75 62  ta\sadapter\ssub
6480: 73 79 73 74 65 6d 5c 73 66 6f 72 5c 73 74 68 65  system\sfor\sthe
6490: 5c 73 66 69 72 73 74 5c 73 72 6f 77 5c 73 69 6e  \sfirst\srow\sin
64a0: 5c 73 74 68 65 5c 73 74 61 62 6c 65 5c 73 6c 6f  \sthe\stable\slo
64b0: 6f 6b 73 5c 73 73 6f 6d 65 74 68 69 6e 67 5c 73  oks\ssomething\s
64c0: 6c 69 6b 65 5c 73 74 68 69 73 3a 5c 72 5c 6e 5c  like\sthis:\r\n\
64d0: 72 5c 6e 3c 76 65 72 62 61 74 69 6d 3e 5c 72 5c  r\n<verbatim>\r\
64e0: 6e 5c 73 5c 73 55 50 44 41 54 45 5c 73 5b 6d 61  n\s\sUPDATE\s[ma
64f0: 69 6e 5d 2e 5b 74 31 5d 5c 73 53 45 54 5c 73 5b  in].[t1]\sSET\s[
6500: 79 5d 5c 73 3d 5c 73 40 70 61 72 61 6d 31 2c 5c  y]\s=\s@param1,\
6510: 73 5b 7a 5d 5c 73 3d 5c 73 40 70 61 72 61 6d 32  s[z]\s=\s@param2
6520: 5c 72 5c 6e 5c 73 5c 73 57 48 45 52 45 5c 73 28  \r\n\s\sWHERE\s(
6530: 28 5b 78 5d 5c 73 3d 5c 73 40 70 61 72 61 6d 33  ([x]\s=\s@param3
6540: 29 5c 73 41 4e 44 5c 73 28 5b 79 5d 5c 73 3d 5c  )\sAND\s([y]\s=\
6550: 73 40 70 61 72 61 6d 34 29 5c 73 41 4e 44 5c 73  s@param4)\sAND\s
6560: 28 5b 7a 5d 5c 73 3d 5c 73 40 70 61 72 61 6d 35  ([z]\s=\s@param5
6570: 29 29 5c 72 5c 6e 3c 2f 76 65 72 62 61 74 69 6d  ))\r\n</verbatim
6580: 3e 5c 72 5c 6e 5c 72 5c 6e 41 6e 64 5c 73 74 68  >\r\n\r\nAnd\sth
6590: 65 5c 73 76 61 6c 75 65 73 5c 73 66 6f 72 5c 73  e\svalues\sfor\s
65a0: 74 68 65 5c 73 70 61 72 61 6d 65 74 65 72 73 5c  the\sparameters\
65b0: 73 61 72 65 5c 73 61 73 5c 73 66 6f 6c 6c 6f 77  sare\sas\sfollow
65c0: 73 3a 5c 72 5c 6e 5c 72 5c 6e 3c 76 65 72 62 61  s:\r\n\r\n<verba
65d0: 74 69 6d 3e 5c 72 5c 6e 5c 73 5c 73 40 70 61 72  tim>\r\n\s\s@par
65e0: 61 6d 31 5c 73 3d 5c 73 32 34 35 35 39 37 36 2e  am1\s=\s2455976.
65f0: 36 38 37 30 31 33 39 32 33 37 5c 73 28 64 6f 75  6870139237\s(dou
6600: 62 6c 65 29 5c 72 5c 6e 5c 73 5c 73 40 70 61 72  ble)\r\n\s\s@par
6610: 61 6d 32 5c 73 3d 5c 73 39 2e 38 37 36 5c 73 28  am2\s=\s9.876\s(
6620: 64 6f 75 62 6c 65 29 5c 72 5c 6e 5c 73 5c 73 40  double)\r\n\s\s@
6630: 70 61 72 61 6d 33 5c 73 3d 5c 73 31 5c 73 28 6c  param3\s=\s1\s(l
6640: 6f 6e 67 29 5c 72 5c 6e 5c 73 5c 73 40 70 61 72  ong)\r\n\s\s@par
6650: 61 6d 34 5c 73 3d 5c 73 32 34 35 35 39 37 35 2e  am4\s=\s2455975.
6660: 39 38 36 39 39 30 33 39 33 36 5c 73 28 64 6f 75  9869903936\s(dou
6670: 62 6c 65 29 5c 72 5c 6e 5c 73 5c 73 40 70 61 72  ble)\r\n\s\s@par
6680: 61 6d 35 5c 73 3d 5c 73 35 2e 31 32 33 5c 73 28  am5\s=\s5.123\s(
6690: 64 6f 75 62 6c 65 29 5c 72 5c 6e 3c 2f 76 65 72  double)\r\n</ver
66a0: 62 61 74 69 6d 3e 5c 72 5c 6e 5c 72 5c 6e 54 68  batim>\r\n\r\nTh
66b0: 65 5c 73 70 72 6f 62 6c 65 6d 5c 73 69 73 5c 73  e\sproblem\sis\s
66c0: 74 68 61 74 5c 73 74 68 65 5c 73 61 63 74 75 61  that\sthe\sactua
66d0: 6c 5c 73 66 69 72 73 74 5c 73 72 6f 77 5c 73 69  l\sfirst\srow\si
66e0: 6e 5c 73 74 68 65 5c 73 74 61 62 6c 65 5c 73 63  n\sthe\stable\sc
66f0: 6f 6e 74 61 69 6e 73 5c 73 74 68 69 73 5c 73 64  ontains\sthis\sd
6700: 61 74 61 3a 5c 72 5c 6e 5c 72 5c 6e 3c 76 65 72  ata:\r\n\r\n<ver
6710: 62 61 74 69 6d 3e 5c 72 5c 6e 5c 73 5c 73 49 4e  batim>\r\n\s\sIN
6720: 53 45 52 54 5c 73 49 4e 54 4f 5c 73 74 31 5c 73  SERT\sINTO\st1\s
6730: 28 78 2c 5c 73 79 2c 5c 73 7a 29 5c 73 56 41 4c  (x,\sy,\sz)\sVAL
6740: 55 45 53 28 31 2c 5c 73 32 34 35 35 39 37 35 2e  UES(1,\s2455975.
6750: 39 38 36 39 39 30 33 39 2c 5c 73 35 2e 31 32 33  98699039,\s5.123
6760: 29 3b 5c 72 5c 6e 3c 2f 76 65 72 62 61 74 69 6d  );\r\n</verbatim
6770: 3e 5c 72 5c 6e 5c 72 5c 6e 54 68 69 73 5c 73 63  >\r\n\r\nThis\sc
6780: 61 75 73 65 73 5c 73 74 68 65 5c 73 57 48 45 52  auses\sthe\sWHER
6790: 45 5c 73 63 6c 61 75 73 65 5c 73 69 6e 5c 73 74  E\sclause\sin\st
67a0: 68 65 5c 73 61 62 6f 76 65 5c 73 55 50 44 41 54  he\sabove\sUPDAT
67b0: 45 5c 73 71 75 65 72 79 5c 73 74 6f 5c 73 6d 61  E\squery\sto\sma
67c0: 74 63 68 5c 73 7a 65 72 6f 5c 73 72 6f 77 73 5c  tch\szero\srows\
67d0: 73 62 65 63 61 75 73 65 5c 73 32 34 35 35 39 37  sbecause\s245597
67e0: 35 2e 39 38 36 39 39 30 33 39 5c 73 28 69 6e 5c  5.98699039\s(in\
67f0: 73 64 61 74 61 62 61 73 65 29 5c 73 69 73 5c 73  sdatabase)\sis\s
6800: 6e 6f 74 5c 73 65 71 75 61 6c 5c 73 74 6f 5c 73  not\sequal\sto\s
6810: 32 34 35 35 39 37 35 2e 39 38 36 39 39 30 33 39  2455975.98699039
6820: 33 36 5c 73 28 71 75 65 72 79 5c 73 70 61 72 61  36\s(query\spara
6830: 6d 65 74 65 72 29 2e 0a 4b 20 34 62 62 66 38 35  meter)..K 4bbf85
6840: 31 66 61 35 62 32 36 63 31 63 61 37 34 61 31 30  1fa5b26c1ca74a10
6850: 32 37 33 31 39 34 32 66 39 39 62 61 38 61 61 31  2731942f99ba8aa1
6860: 38 65 0a 55 20 6d 69 73 74 61 63 68 6b 69 6e 0a  8e.U mistachkin.
6870: 5a 20 37 37 65 63 61 66 33 35 62 33 37 65 36 33  Z 77ecaf35b37e63
6880: 32 32 64 64 37 33 63 34 66 39 33 35 36 66 66 62  22dd73c4f9356ffb
6890: 31 62 0a                                         1b.