标签:取整 代码 ext com createdb l命令 file target try
网上有许多介绍关于SQLite数据库的,这里我就不多说了,这里主要介绍SQLite数据库在C#中的应用,它的应用主要依赖于System.Data.SQLite.dll文件,可以点击这里下载https://pan.baidu.com/s/1UQLHXHkWcfvSdui0m6q5AQ。下载完成后直接引用到自己的工程里即可。好了废话不多说,直接上代码。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Data.SQLite; 7 using System.IO; 8 9 public class SqliteHelper 10 { 11 private static SqliteHelper _instance; 12 13 public static SqliteHelper GetInstance() 14 { 15 if(null == _instance) 16 { 17 _instance = new SqliteHelper(); 18 } 19 20 return _instance; 21 } 22 23 /// <summary> 24 /// 数据库连接定义 25 /// </summary> 26 private SQLiteConnection dbConnection; 27 28 /// <summary> 29 /// SQL命令定义 30 /// </summary> 31 private SQLiteCommand dbCommand; 32 33 /// <summary> 34 /// 数据读取定义 35 /// </summary> 36 private SQLiteDataReader dataReader; 37 38 private SqliteHelper() 39 { 40 41 } 42 43 /// <summary> 44 /// 创建数据库文件 45 /// </summary> 46 /// <param name="dbPath"></param> 47 /// <returns></returns> 48 public bool CreateDb(string dbPath) 49 { 50 try 51 { 52 if(!File.Exists(dbPath)) 53 { 54 //如果数据库文件不存在,则创建 55 SQLiteConnection.CreateFile(dbPath); 56 } 57 string conDbPath = "Data Source=" + dbPath; 58 dbConnection = new SQLiteConnection(conDbPath); 59 if(null == dbConnection) 60 { 61 return false; 62 } 63 dbConnection.Open(); 64 } 65 catch(Exception e) 66 { 67 throw e; 68 } 69 70 return true; 71 } 72 73 /// <summary> 74 /// 执行SQL命令 75 /// </summary> 76 /// <param name="queryString"></param> 77 /// <returns></returns> 78 public SQLiteDataReader ExecuteQuery(string queryString) 79 { 80 try 81 { 82 dbCommand = dbConnection.CreateCommand(); 83 dbCommand.CommandText = queryString; 84 dataReader = dbCommand.ExecuteReader(); 85 } 86 catch(Exception e) 87 { 88 throw e; 89 } 90 91 return dataReader; 92 } 93 94 /// <summary> 95 /// 关闭数据库连接 96 /// </summary> 97 public void CloseConncetion() 98 { 99 //销毁Command 100 if(dbCommand != null) 101 { 102 dbCommand.Cancel(); 103 } 104 dbCommand = null; 105 106 //销毁Reader 107 if(dataReader != null) 108 { 109 dataReader.Close(); 110 } 111 dataReader = null; 112 113 //销毁Connection 114 if(dbConnection != null) 115 { 116 dbConnection.Clone(); 117 } 118 dbConnection = null; 119 } 120 121 /// <summary> 122 /// 创建数据表 123 /// </summary> 124 /// <param name="tableName"></param> 125 /// <param name="colNames"></param> 126 /// <param name="colTypes"></param> 127 /// <returns></returns> 128 public SQLiteDataReader CreateTable(string tableName, 129 string[] colNames, string[] colTypes) 130 { 131 string queryString = "CREATE TABLE IF NOT EXISTS" +" " 132 + tableName + "(" + colNames[0] + " " + colTypes[0]; 133 for(int i = 1; i < colNames.Length; i++) 134 { 135 queryString += "," + colNames[i] + " " + colTypes[i]; 136 } 137 queryString += ")"; 138 139 return ExecuteQuery(queryString); 140 } 141 142 /// <summary> 143 /// 读取整张数据表 144 /// </summary> 145 /// <param name="tableName"></param> 146 /// <returns></returns> 147 private SQLiteDataReader ReadFullTable(string tableName) 148 { 149 string queryString = "SELECT * FROM" + " " + tableName; 150 151 return ExecuteQuery(queryString); 152 } 153 154 /// <summary> 155 /// 查询整张数据表 156 /// </summary> 157 /// <param name="tableName"></param> 158 /// <returns></returns> 159 public List<string[]> QueryTable(string tableName) 160 { 161 string queryString = "SELECT" + " "+ "*FROM" + " " + 162 tableName; 163 List<string[]> QueryResult = new List<string[]>(); 164 if (null == QueryResult) 165 { 166 return null; 167 } 168 SQLiteDataReader dr = ExecuteQuery(queryString); 169 if(dr.HasRows) 170 { 171 while(dr.Read()) 172 { 173 string[] queryData = new string[dr.FieldCount]; 174 for (int i = 0; i < dr.FieldCount; i++) 175 { 176 queryData[i] = dr[i].ToString(); 177 } 178 QueryResult.Add(queryData); 179 } 180 } 181 182 return QueryResult; 183 } 184
标签:取整 代码 ext com createdb l命令 file target try
原文地址:https://www.cnblogs.com/QingYiShouJiuRen/p/10198744.html