Advertisement
manman89

VMK_DAO_FOR_SQLITE3 v1.1 by ManMan89

Dec 5th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.16 KB | None | 0 0
  1. /***
  2. -------
  3.  
  4. VMK_DAO_FOR_SQLITE3 by ManMan89
  5.  
  6. Version 1.1
  7.  
  8. Release 2016.12.05
  9.  
  10. ------- HOW TO USE - EXAMPLE FOR .NET 4.0 X86 -------
  11.  
  12. STEP 1 - DOWNLOAD SQLITE-NETFX40-BINARY-WIN32-2010-1.0.103.0.ZIP FROM HTTPS://SYSTEM.DATA.SQLITE.ORG/INDEX.HTML/DOC/TRUNK/WWW/DOWNLOADS.WIKI
  13. STEP 2 - ADD REFERENCE SYSTEM.DATA.SQLITE.DLL TO VISUAL STUDIO
  14. STEP 3 - SET COPY LOCAL = TRUE
  15. STEP 4 - COPY FILE SQLITE.INTEROP.DLL TO LOCAL FOLDER WITH EXE FILE
  16.  
  17. ------- EXAMPLE CODE -------
  18.  
  19. EXAMPLE SELECT
  20.  
  21. using System.Collections;
  22.  
  23. VMK_DAO_FOR_SQLITE3 vmk = new VMK_DAO_FOR_SQLITE3();
  24.  
  25. vmk.SQLITE_DATABASE_FILE = @"D:\ManMan89.SQLITE3";
  26.  
  27. vmk.SQLITE_QUERY = "SELECT vmk_value FROM manman89 WHERE vmk_key = @vmk_key";
  28.  
  29. vmk.SQLITE_PARAMETERS = vmk.CREATE_SQLITE_PARAMETERS();
  30.  
  31. vmk.SQLITE_PARAMETERS.Clear();
  32.  
  33. vmk.SQLITE_PARAMETERS.Rows.Add("@vmk_key", "12-05-1989");
  34.  
  35. ArrayList KQ = vmk.SQLITE_SELECT();
  36.  
  37. MessageBox.Show(KQ[0].ToString());
  38. MessageBox.Show(KQ[1].ToString());
  39.  
  40. DGV1.DataSource = (DataTable)KQ[2];
  41.  
  42. // KQ[0] -> "OK" or "ERROR"
  43. // KQ[1] -> "" or "ERROR MESSAGE"
  44. // KQ[2] -> DATATABLE or EMPTY DATATABLE
  45.  
  46. -------
  47.  
  48. EXAMPLE INSERT
  49.  
  50. VMK_DAO_FOR_SQLITE3 vmk = new VMK_DAO_FOR_SQLITE3();
  51.  
  52. vmk.SQLITE_DATABASE_FILE = @"D:\ManMan89.SQLITE3";
  53.  
  54. vmk.SQLITE_QUERY = "INSERT INTO manman89 (vmk_key, vmk_value) VALUES (@vmk_key, @vmk_value)";
  55.  
  56. vmk.SQLITE_PARAMETERS = vmk.CREATE_SQLITE_PARAMETERS();
  57.  
  58. vmk.SQLITE_PARAMETERS.Clear();
  59.  
  60. vmk.SQLITE_PARAMETERS.Rows.Add("@vmk_key", "12-05-1989");
  61. vmk.SQLITE_PARAMETERS.Rows.Add("@vmk_value", "Have a nice day");
  62.  
  63. String[] KQ = vmk.SQLITE_INSERT_DELETE_UPDATE();
  64.  
  65. MessageBox.Show(KQ[0].ToString());
  66. MessageBox.Show(KQ[1].ToString());
  67.  
  68. // KQ[0] -> "OK" or "ERROR"
  69. // KQ[1] -> "SQL STATUS > 0" or "ERROR MESSAGE"
  70.  
  71. -------
  72.  
  73. EXAMPLE DELETE
  74.  
  75. VMK_DAO_FOR_SQLITE3 vmk = new VMK_DAO_FOR_SQLITE3();
  76.  
  77. vmk.SQLITE_DATABASE_FILE = @"D:\ManMan89.SQLITE3";
  78.  
  79. vmk.SQLITE_QUERY = "DELETE FROM manman89 WHERE vmk_key = @vmk_key";
  80.  
  81. vmk.SQLITE_PARAMETERS = vmk.CREATE_SQLITE_PARAMETERS();
  82.  
  83. vmk.SQLITE_PARAMETERS.Clear();
  84.  
  85. vmk.SQLITE_PARAMETERS.Rows.Add("@vmk_key", "12-05-1989");
  86.  
  87. String[] KQ = vmk.SQLITE_INSERT_DELETE_UPDATE();
  88.  
  89. MessageBox.Show(KQ[0].ToString());
  90. MessageBox.Show(KQ[1].ToString());
  91.  
  92. // KQ[0] -> "OK" or "ERROR"
  93. // KQ[1] -> "SQL STATUS > 0" or "ERROR MESSAGE"
  94.  
  95. -------
  96.  
  97. EXAMPLE UPDATE
  98.  
  99. VMK_DAO_FOR_SQLITE3 vmk = new VMK_DAO_FOR_SQLITE3();
  100.  
  101. vmk.SQLITE_DATABASE_FILE = @"D:\ManMan89.SQLITE3";
  102.  
  103. vmk.SQLITE_QUERY = "UPDATE manman89 SET vmk_value = @vmk_value WHERE vmk_key = @vmk_key";
  104.  
  105. vmk.SQLITE_PARAMETERS = vmk.CREATE_SQLITE_PARAMETERS();
  106.  
  107. vmk.SQLITE_PARAMETERS.Clear();
  108.  
  109. vmk.SQLITE_PARAMETERS.Rows.Add("@vmk_key", "12-05-1989");
  110. vmk.SQLITE_PARAMETERS.Rows.Add("@vmk_value", "Have a good day");
  111.  
  112. String[] KQ = vmk.SQLITE_INSERT_DELETE_UPDATE();
  113.  
  114. MessageBox.Show(KQ[0].ToString());
  115. MessageBox.Show(KQ[1].ToString());
  116.  
  117. // KQ[0] -> "OK" or "ERROR"
  118. // KQ[1] -> "SQL STATUS > 0" or "ERROR MESSAGE"
  119.  
  120. -------
  121. ***/
  122.  
  123. using System;
  124. using System.Data;
  125. using System.Data.SQLite;
  126. using System.Collections;
  127.  
  128. namespace ManMan89
  129. {
  130. public class VMK_DAO_FOR_SQLITE3
  131. {
  132. public string SQLITE_QUERY = "";
  133. public DataTable SQLITE_PARAMETERS;
  134. public string SQLITE_DATABASE_FILE = "";
  135.  
  136. private string SQLITE_CONNECTION_STRING = "";
  137.  
  138. public DataTable CREATE_SQLITE_PARAMETERS()
  139. {
  140. DataTable SQLITE_PARAMETERS = new DataTable();
  141. SQLITE_PARAMETERS.Columns.Add("KEY", typeof(string));
  142. SQLITE_PARAMETERS.Columns.Add("VALUE", typeof(string));
  143. return SQLITE_PARAMETERS;
  144. }
  145.  
  146. public static bool VMK_SQLITE_CHECK_DBFILE_EXISTS(string DATABASE_FILE) { return System.IO.File.Exists(DATABASE_FILE.Trim()); }
  147.  
  148. public ArrayList SQLITE_SELECT()
  149. {
  150. ArrayList DATA_RETURN = new ArrayList(3);
  151. DataTable DATA_TABLE_RETURN = new DataTable();
  152.  
  153. if (VMK_SQLITE_CHECK_DBFILE_EXISTS(SQLITE_DATABASE_FILE) == false)
  154. {
  155. DATA_RETURN.Clear();
  156. DATA_RETURN.Add("ERROR");
  157. DATA_RETURN.Add("KHÔNG TÌM THẤY FILE " + Convert.ToChar(34) + SQLITE_DATABASE_FILE.ToUpper() + Convert.ToChar(34));
  158. DATA_RETURN.Add(DATA_TABLE_RETURN);
  159. return DATA_RETURN;
  160. }
  161.  
  162. SQLITE_CONNECTION_STRING = @"Data Source=" + SQLITE_DATABASE_FILE + ";Version=3;Foreign Keys=True;";
  163.  
  164. SQLiteConnection SQLITE_CONNECTION = null;
  165. SQLiteCommand SQLITE_COMMAND = null;
  166.  
  167. try
  168. {
  169. // MỞ KẾT NỐI CSDL
  170.  
  171. SQLITE_CONNECTION = new SQLiteConnection(SQLITE_CONNECTION_STRING);
  172. SQLITE_CONNECTION.Open();
  173.  
  174. // THỰC HIỆN TRUY VẤN CSDL
  175.  
  176. SQLITE_COMMAND = new SQLiteCommand(SQLITE_QUERY, SQLITE_CONNECTION);
  177. SQLITE_COMMAND.Parameters.Clear();
  178.  
  179. for (int i = 0; i < SQLITE_PARAMETERS.Rows.Count; i++)
  180. {
  181. SQLITE_COMMAND.Parameters.Add(new SQLiteParameter(SQLITE_PARAMETERS.Rows[i][0].ToString(), SQLITE_PARAMETERS.Rows[i][1].ToString()));
  182. }
  183.  
  184. SQLiteDataReader SQLITE_DATA_READER = SQLITE_COMMAND.ExecuteReader();
  185.  
  186. // LẤY DỮ LIỆU CÓ ĐƯỢC TỪ TRUY VẤN ĐƯA VÀO ĐỐI TƯỢNG DATA TABLE
  187.  
  188. DATA_TABLE_RETURN.Load(SQLITE_DATA_READER);
  189.  
  190. // ĐÓNG KẾT NỐI CSDL
  191.  
  192. SQLITE_COMMAND.Dispose();
  193. SQLITE_CONNECTION.Close();
  194.  
  195. DATA_RETURN.Clear();
  196. DATA_RETURN.Add("OK");
  197. DATA_RETURN.Add("");
  198. DATA_RETURN.Add(DATA_TABLE_RETURN);
  199. }
  200. catch (Exception ex)
  201. {
  202. if(SQLITE_COMMAND != null) { SQLITE_COMMAND.Dispose(); }
  203. if(SQLITE_CONNECTION != null) { SQLITE_CONNECTION.Close(); }
  204.  
  205. DATA_RETURN.Clear();
  206. DATA_RETURN.Add("ERROR");
  207. DATA_RETURN.Add(ex.ToString());
  208. DATA_RETURN.Add(DATA_TABLE_RETURN);
  209. }
  210.  
  211. return DATA_RETURN;
  212. }
  213.  
  214. public string[] SQLITE_INSERT_DELETE_UPDATE()
  215. {
  216. string[] DATA_RETURN = { "", "" };
  217.  
  218. if (VMK_SQLITE_CHECK_DBFILE_EXISTS(SQLITE_DATABASE_FILE) == false)
  219. {
  220. DATA_RETURN[0] = "ERROR";
  221. DATA_RETURN[1] = "KHÔNG TÌM THẤY FILE " + Convert.ToChar(34) + SQLITE_DATABASE_FILE.ToUpper() + Convert.ToChar(34);
  222. return DATA_RETURN;
  223. }
  224.  
  225. SQLITE_CONNECTION_STRING = @"Data Source=" + SQLITE_DATABASE_FILE + ";Version=3;Foreign Keys=True;";
  226.  
  227. SQLiteConnection SQLITE_CONNECTION = null;
  228. SQLiteCommand SQLITE_COMMAND = null;
  229.  
  230. try
  231. {
  232. // MỞ KẾT NỐI CSDL
  233.  
  234. SQLITE_CONNECTION = new SQLiteConnection(SQLITE_CONNECTION_STRING);
  235. SQLITE_CONNECTION.Open();
  236.  
  237. // THỰC HIỆN TRUY VẤN CSDL
  238.  
  239. SQLITE_COMMAND = new SQLiteCommand(SQLITE_QUERY, SQLITE_CONNECTION);
  240. SQLITE_COMMAND.Parameters.Clear();
  241.  
  242. for (int i = 0; i < SQLITE_PARAMETERS.Rows.Count; i++)
  243. {
  244. SQLITE_COMMAND.Parameters.Add(new SQLiteParameter(SQLITE_PARAMETERS.Rows[i][0].ToString(), SQLITE_PARAMETERS.Rows[i][1].ToString()));
  245. }
  246.  
  247. int SQLITE_COMMAND_RESULT = SQLITE_COMMAND.ExecuteNonQuery();
  248.  
  249. // ĐÓNG KẾT NỐI CSDL
  250.  
  251. SQLITE_COMMAND.Dispose();
  252. SQLITE_CONNECTION.Close();
  253.  
  254. DATA_RETURN[0] = "OK";
  255. DATA_RETURN[1] = SQLITE_COMMAND_RESULT.ToString();
  256. }
  257. catch (Exception ex)
  258. {
  259. if (SQLITE_COMMAND != null) { SQLITE_COMMAND.Dispose(); }
  260. if (SQLITE_CONNECTION != null) { SQLITE_CONNECTION.Close(); }
  261.  
  262. DATA_RETURN[0] = "ERROR";
  263. DATA_RETURN[1] = ex.ToString();
  264. }
  265.  
  266. return DATA_RETURN;
  267. }
  268.  
  269. public string[] SQLITE_INSERT_DELETE_UPDATE_MULTIPLE_PARAMETERS_EACH_QUERY(ArrayList LIST_SQLITE_PARAMETERS)
  270. {
  271. string[] DATA_RETURN = { "", "" };
  272.  
  273. if (VMK_SQLITE_CHECK_DBFILE_EXISTS(SQLITE_DATABASE_FILE) == false)
  274. {
  275. DATA_RETURN[0] = "ERROR";
  276. DATA_RETURN[1] = "KHÔNG TÌM THẤY FILE " + Convert.ToChar(34) + SQLITE_DATABASE_FILE.ToUpper() + Convert.ToChar(34);
  277. return DATA_RETURN;
  278. }
  279.  
  280. SQLITE_CONNECTION_STRING = @"Data Source=" + SQLITE_DATABASE_FILE + ";Version=3;Foreign Keys=True;";
  281.  
  282. SQLiteConnection SQLITE_CONNECTION = null;
  283. SQLiteCommand SQLITE_COMMAND = null;
  284.  
  285. try
  286. {
  287. int SQLITE_COMMAND_RESULT = 0;
  288.  
  289. // MỞ KẾT NỐI CSDL
  290.  
  291. SQLITE_CONNECTION = new SQLiteConnection(SQLITE_CONNECTION_STRING);
  292. SQLITE_CONNECTION.Open();
  293.  
  294. // THỰC HIỆN TRUY VẤN CSDL
  295.  
  296. SQLITE_COMMAND = new SQLiteCommand(SQLITE_CONNECTION);
  297. SQLITE_COMMAND.Parameters.Clear();
  298.  
  299. SQLiteTransaction SQLITE_TRANS = SQLITE_CONNECTION.BeginTransaction();
  300.  
  301. for (int i = 0; i < LIST_SQLITE_PARAMETERS.Count; i++)
  302. {
  303. SQLITE_COMMAND_RESULT = 0;
  304. SQLITE_COMMAND.CommandText = SQLITE_QUERY;
  305.  
  306. DataTable DT = (DataTable)LIST_SQLITE_PARAMETERS[i];
  307. for (int x = 0; x < DT.Rows.Count; x++)
  308. {
  309. SQLITE_COMMAND.Parameters.Add(new SQLiteParameter(DT.Rows[x][0].ToString(), DT.Rows[x][1].ToString()));
  310. }
  311. DT = null;
  312.  
  313. SQLITE_COMMAND_RESULT = SQLITE_COMMAND.ExecuteNonQuery();
  314. }
  315.  
  316. SQLITE_TRANS.Commit();
  317.  
  318. // ĐÓNG KẾT NỐI CSDL
  319.  
  320. SQLITE_COMMAND.Dispose();
  321. SQLITE_CONNECTION.Close();
  322.  
  323. DATA_RETURN[0] = "OK";
  324. DATA_RETURN[1] = SQLITE_COMMAND_RESULT.ToString();
  325. }
  326. catch (Exception ex)
  327. {
  328. if (SQLITE_COMMAND != null) { SQLITE_COMMAND.Dispose(); }
  329. if (SQLITE_CONNECTION != null) { SQLITE_CONNECTION.Close(); }
  330.  
  331. DATA_RETURN[0] = "ERROR";
  332. DATA_RETURN[1] = ex.ToString();
  333. }
  334.  
  335. return DATA_RETURN;
  336. }
  337. }
  338. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement