DataReader.cs
1/*
2 UdgerParser - Local parser lib
3
4 UdgerParser class parses useragent strings based on a database downloaded from udger.com
5
6
7 author The Udger.com Team (info@udger.com)
8 copyright Copyright (c) Udger s.r.o.
9 license GNU Lesser General Public License
10 link https://udger.com/products/local_parser
11 */
12
13using System;
14using System.Data;
15using System.Data.SQLite;
16
17namespace Udger.Parser
18{
20 {
21
22 public string DataSourcePath { get; set; }
23 private bool connected;
24 public bool Connected { get { return this.connected; } }
25 private SQLiteConnection sqlite;
26 public string data_filenam { get; set; }
27 public string data_dir { get; set; }
28 UdgerParser udger;
29
30
31 public DataReader()
32 {
33
34 }
35
36 public void connect(UdgerParser _udger)
37 {
38 udger = _udger;
39 try
40 {
41 if (!this.Connected)
42 {
43 sqlite = new SQLiteConnection(@"Data Source=" + DataSourcePath);
44 this.connected = true;
45
46 }
47 }
48 catch (Exception e)
49 {
50 throw e;
51 }
52 }
53
54 public DataTable selectQuery(string query)
55 {
56 if (connected)
57 {
58 SQLiteDataAdapter ad;
59 DataTable dt = new DataTable();
60
61 try
62 {
63 SQLiteCommand cmd;
64 sqlite.Open(); //Initiate connection to the db
65 cmd = sqlite.CreateCommand();
66 cmd.CommandText = query; //set the passed query
67 ad = new SQLiteDataAdapter(cmd);
68 ad.Fill(dt); //fill the datasource
69 }
70 catch (SQLiteException ex)
71 {
72 throw ex;
73 }
74 sqlite.Close();
75 return dt;
76 }
77 return new DataTable();
78 }
79
80
81 }
82}