View Code
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Data.SQLite;// 6 using System.Data;// 7 using System.IO;// 8 using System.Data.Common;// 9 using System.Configuration;// 10 11 namespace SQLiteHelper 12 { 13 public class SQLiteHelper41 14 { 15 #region 拼接字符串 http://www.cnblogs.com/bytime/archive/2011/10/27/2226004.html 16 17 private string connStr = "";//SQLite数据库连接字符串 18 private static string dbPathDefault = System.Environment.CurrentDirectory + "\\DB\\";//默认 目录的 路径 19 20 public SQLiteHelper41(string dbName, bool isFullPath) 21 { 22 if (isFullPath) 23 { 24 connStr = @"Data Source=" + dbName + ";Initial Catalog=sqlite;Integrated Security=True;Max Pool Size=10"; 25 } 26 else 27 { 28 connStr = @"Data Source=" + dbPathDefault + dbName + ";Initial Catalog=sqlite;Integrated Security=True;Max Pool Size=10"; 29 } 30 } 31 32 /// <summary> 33 /// 功能: 创建数据库,带路径 34 /// </summary> 35 /// <param name="dbName"></param> 36 /// <param name="isFullPath"></param> 37 public void CreateDB(string dbName, bool isFullPath) 38 { 39 if (isFullPath) 40 { 41 if (!File.Exists(dbName)) 42 { 43 SQLiteConnection.CreateFile(dbName); 44 } 45 } 46 else 47 { 48 49 if (!Directory.Exists(dbPathDefault)) 50 { 51 //检测 要创建的SQLite数据库所在 目录是否存在 若不存在则创建;否则继续; 52 Directory.CreateDirectory(dbPathDefault); 53 } 54 if (!File.Exists(dbPathDefault + dbName)) 55 { 56 SQLiteConnection.CreateFile(System.Environment.CurrentDirectory + "\\DB\\" + dbName); 57 } 58 } 59 } 60 61 /// <summary> 62 /// 功能: 执行sql,不返回 63 /// </summary> 64 /// <param name="sqlStr">要执行的sql</param> 65 public void ExecuteSql(string sqlStr) 66 { 67 using (DbConnection conn = new SQLiteConnection(connStr)) 68 { 69 conn.Open(); 70 DbCommand comm = conn.CreateCommand(); 71 comm.CommandText = sqlStr; 72 comm.CommandType = CommandType.Text; 73 comm.ExecuteNonQuery(); 74 } 75 } 76 77 /// <summary> 78 /// 功能: 执行sql语句数组 79 /// </summary> 80 /// <param name="sqlStr"></param> 81 public void ExecuteSqlList(string[] sqlStr) 82 { 83 using (DbConnection conn = new SQLiteConnection(connStr)) 84 { 85 conn.Open(); 86 DbCommand comm = conn.CreateCommand(); 87 foreach (string item in sqlStr) 88 { 89 comm.CommandText = item; 90 comm.CommandType = CommandType.Text; 91 comm.ExecuteNonQuery(); 92 } 93 } 94 } 95 96 /// <summary> 97 /// 功能: 执行sql返回deteset 98 /// </summary> 99 /// <param name="sqlStr"></param> 100 /// <returns></returns> 101 public DataSet ExecDataSet(string sqlStr) 102 { 103 using (SQLiteConnection conn = new SQLiteConnection(connStr)) 104 { 105 conn.Open(); 106 SQLiteCommand cmd = conn.CreateCommand(); 107 cmd.CommandText = sqlStr; 108 cmd.CommandType = CommandType.Text; 109 110 SQLiteDataAdapter da = new SQLiteDataAdapter(cmd); 111 DataSet ds = new DataSet(); 112 da.Fill(ds); 113 114 return ds; 115 } 116 } 117 118 /// <summary> 119 /// 功能: 判断表是否存在 120 /// </summary> 121 /// <param name="tableName"></param> 122 /// <returns>存在不存在</returns> 123 public bool IsTableExist(string tableName) 124 { 125 using (SQLiteConnection connection = new SQLiteConnection(connStr)) 126 { 127 connection.Open(); 128 using (SQLiteCommand command = new SQLiteCommand(connection)) 129 { 130 131 command.CommandText = "SELECT COUNT(*) FROM sqlite_master where type='table' and name='" + tableName + "'"; 132 int tableCount = Convert.ToInt32(command.ExecuteNonQuery()); 133 if (Convert.ToInt32(command.ExecuteScalar()) == 0) 134 { 135 return false; 136 } 137 else 138 { 139 return true; 140 } 141 } 142 } 143 } 144 #endregion 145 } 146 }