asp.net中配置使用Sqlite轻型数据库
Sqlite 管理工具 SQLiteDeveloper及破解
功能特点
表结构设计,数据维护,ddl生成,加密数据库支持,sqlite2,3支持
唯一缺憾,收费,有试用期
破解方法:
注册表删除 HKEY_CURRENT_USER\SharpPlus\SqliteDev 下的 StartDate 可继续使用
protected void Page_Load(object sender, EventArgs e){//这个文件是预先生成的数据库文件string sqliteFilePath = "Data Source=" + Server.MapPath("~/App_Data/demo2012.db");DataSet ds = new DataSet();MSCL.SqliteHelper sqlite = new MSCL.SqliteHelper(sqliteFilePath);ds = sqlite.ExecuteDataSet("Select * From LoginTable",CommandType.Text);gv1.DataSource = ds;gv1.DataBind();}
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SQLite;
using System.Data;
using System.Data.Common;namespace MSCL
{/// <summary> /// 本类为SQLite数据库帮助类 /// 轻量级数据库SQLite的连接字符串写法:"Data Source=D:\database\test.s3db" /// 轻量级数据库SQLite的加密后的连接字符串写法:"Data Source=Maximus.db;Version=3;Password=myPassword;" /// </summary> public class SqliteHelper{//数据库连接字符串 private readonly string _conn = string.Empty;public SqliteHelper(string connectionString){_conn = connectionString;}#region ExecuteNonQuery/// <summary> /// 执行数据库操作(新增、更新或删除) /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="cmd">SqlCommand对象</param> /// <returns>所受影响的行数</returns> public int ExecuteNonQuery(SQLiteCommand cmd){int result = 0;if (string.IsNullOrEmpty(_conn))throw new ArgumentNullException("Connection string is missing.");using (SQLiteConnection con = new SQLiteConnection(_conn)){SQLiteTransaction trans = null;PrepareCommand(cmd, con, ref trans, true, cmd.CommandType, cmd.CommandText);try{result = cmd.ExecuteNonQuery();trans.Commit();}catch (Exception ex){trans.Rollback();throw ex;}}return result;}/// <summary> /// 执行数据库操作(新增、更新或删除) /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="commandText">执行语句或存储过程名</param> /// <param name="commandType">执行类型</param> /// <returns>所受影响的行数</returns> public int ExecuteNonQuery(string commandText, CommandType commandType){int result = 0;if (string.IsNullOrEmpty(_conn))throw new ArgumentNullException("Connection string is missing.");if (string.IsNullOrEmpty(commandText))throw new ArgumentNullException("commandText");SQLiteCommand cmd = new SQLiteCommand();using (SQLiteConnection con = new SQLiteConnection(_conn)){SQLiteTransaction trans = null;PrepareCommand(cmd, con, ref trans, true, commandType, commandText);try{result = cmd.ExecuteNonQuery();trans.Commit();}catch (Exception ex){trans.Rollback();throw ex;}}return result;}/// <summary> /// 执行数据库操作(新增、更新或删除) /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="commandText">执行语句或存储过程名</param> /// <param name="commandType">执行类型</param> /// <param name="cmdParms">SQL参数对象</param> /// <returns>所受影响的行数</returns> public int ExecuteNonQuery(string commandText, CommandType commandType, params SQLiteParameter[] cmdParms){int result = 0;if (string.IsNullOrEmpty(_conn))throw new ArgumentNullException("Connection string is missing.");if (string.IsNullOrEmpty(commandText))throw new ArgumentNullException("commandText");SQLiteCommand cmd = new SQLiteCommand();using (SQLiteConnection con = new SQLiteConnection(_conn)){SQLiteTransaction trans = null;PrepareCommand(cmd, con, ref trans, true, commandType, commandText, cmdParms);try{result = cmd.ExecuteNonQuery();trans.Commit();}catch (Exception ex){trans.Rollback();throw ex;}}return result;}#endregion#region ExecuteScalar/// <summary> /// 执行数据库操作(新增、更新或删除)同时返回执行后查询所得的第1行第1列数据 /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="cmd">SqlCommand对象</param> /// <returns>查询所得的第1行第1列数据</returns> public object ExecuteScalar(SQLiteCommand cmd){object result = 0;if (string.IsNullOrEmpty(_conn))throw new ArgumentNullException("Connection string is missing.");using (SQLiteConnection con = new SQLiteConnection(_conn)){SQLiteTransaction trans = null;PrepareCommand(cmd, con, ref trans, true, cmd.CommandType, cmd.CommandText);try{result = cmd.ExecuteScalar();trans.Commit();}catch (Exception ex){trans.Rollback();throw ex;}}return result;}/// <summary> /// 执行数据库操作(新增、更新或删除)同时返回执行后查询所得的第1行第1列数据 /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="commandText">执行语句或存储过程名</param> /// <param name="commandType">执行类型</param> /// <returns>查询所得的第1行第1列数据</returns> public object ExecuteScalar(string commandText, CommandType commandType){object result = 0;if (string.IsNullOrEmpty(_conn))throw new ArgumentNullException("Connection string is missing.");if (string.IsNullOrEmpty(commandText))throw new ArgumentNullException("commandText");SQLiteCommand cmd = new SQLiteCommand();using (SQLiteConnection con = new SQLiteConnection(_conn)){SQLiteTransaction trans = null;PrepareCommand(cmd, con, ref trans, true, commandType, commandText);try{result = cmd.ExecuteScalar();trans.Commit();}catch (Exception ex){trans.Rollback();throw ex;}}return result;}/// <summary> /// 执行数据库操作(新增、更新或删除)同时返回执行后查询所得的第1行第1列数据 /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="commandText">执行语句或存储过程名</param> /// <param name="commandType">执行类型</param> /// <param name="cmdParms">SQL参数对象</param> /// <returns>查询所得的第1行第1列数据</returns> public object ExecuteScalar(string commandText, CommandType commandType, params SQLiteParameter[] cmdParms){object result = 0;if (string.IsNullOrEmpty(_conn))throw new ArgumentNullException("Connection string is missing.");if (string.IsNullOrEmpty(commandText))throw new ArgumentNullException("commandText");SQLiteCommand cmd = new SQLiteCommand();using (SQLiteConnection con = new SQLiteConnection(_conn)){SQLiteTransaction trans = null;PrepareCommand(cmd, con, ref trans, true, commandType, commandText);try{result = cmd.ExecuteScalar();trans.Commit();}catch (Exception ex){trans.Rollback();throw ex;}}return result;}#endregion#region ExecuteReader/// <summary> /// 执行数据库查询,返回SqlDataReader对象 /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="cmd">SqlCommand对象</param> /// <returns>SqlDataReader对象</returns> public DbDataReader ExecuteReader(SQLiteCommand cmd){DbDataReader reader = null;if (string.IsNullOrEmpty(_conn))throw new ArgumentNullException("Connection string is missing.");SQLiteConnection con = new SQLiteConnection(_conn);SQLiteTransaction trans = null;PrepareCommand(cmd, con, ref trans, false, cmd.CommandType, cmd.CommandText);try{reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);}catch (Exception ex){throw ex;}return reader;}/// <summary> /// 执行数据库查询,返回SqlDataReader对象 /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="commandText">执行语句或存储过程名</param> /// <param name="commandType">执行类型</param> /// <returns>SqlDataReader对象</returns> public DbDataReader ExecuteReader(string commandText, CommandType commandType){DbDataReader reader = null;if (string.IsNullOrEmpty(_conn))throw new ArgumentNullException("Connection string is missing.");if (string.IsNullOrEmpty(commandText))throw new ArgumentNullException("commandText");SQLiteConnection con = new SQLiteConnection(_conn);SQLiteCommand cmd = new SQLiteCommand();SQLiteTransaction trans = null;PrepareCommand(cmd, con, ref trans, false, commandType, commandText);try{reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);}catch (Exception ex){throw ex;}return reader;}/// <summary> /// 执行数据库查询,返回SqlDataReader对象 /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="commandText">执行语句或存储过程名</param> /// <param name="commandType">执行类型</param> /// <param name="cmdParms">SQL参数对象</param> /// <returns>SqlDataReader对象</returns> public DbDataReader ExecuteReader(string commandText, CommandType commandType, params SQLiteParameter[] cmdParms){DbDataReader reader = null;if (string.IsNullOrEmpty(_conn))throw new ArgumentNullException("Connection string is missing.");if (string.IsNullOrEmpty(commandText))throw new ArgumentNullException("commandText");SQLiteConnection con = new SQLiteConnection(_conn);SQLiteCommand cmd = new SQLiteCommand();SQLiteTransaction trans = null;PrepareCommand(cmd, con, ref trans, false, commandType, commandText, cmdParms);try{reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);}catch (Exception ex){throw ex;}return reader;}#endregion#region ExecuteDataSet/// <summary> /// 执行数据库查询,返回DataSet对象 /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="cmd">SqlCommand对象</param> /// <returns>DataSet对象</returns> public DataSet ExecuteDataSet(SQLiteCommand cmd){DataSet ds = new DataSet();SQLiteConnection con = new SQLiteConnection(_conn);SQLiteTransaction trans = null;PrepareCommand(cmd, con, ref trans, false, cmd.CommandType, cmd.CommandText);try{SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd);sda.Fill(ds);}catch (Exception ex){throw ex;}finally{if (cmd.Connection != null){if (cmd.Connection.State == ConnectionState.Open){cmd.Connection.Close();}}}return ds;}/// <summary> /// 执行数据库查询,返回DataSet对象 /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="commandText">执行语句或存储过程名</param> /// <param name="commandType">执行类型</param> /// <returns>DataSet对象</returns> public DataSet ExecuteDataSet(string commandText, CommandType commandType){if (string.IsNullOrEmpty(_conn))throw new ArgumentNullException("Connection string is missing.");if (string.IsNullOrEmpty(commandText))throw new ArgumentNullException("commandText");DataSet ds = new DataSet();SQLiteConnection con = new SQLiteConnection(_conn);SQLiteCommand cmd = new SQLiteCommand();SQLiteTransaction trans = null;PrepareCommand(cmd, con, ref trans, false, commandType, commandText);try{SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd);sda.Fill(ds);}catch (Exception ex){throw ex;}finally{if (con != null){if (con.State == ConnectionState.Open){con.Close();}}}return ds;}/// <summary> /// 执行数据库查询,返回DataSet对象 /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="commandText">执行语句或存储过程名</param> /// <param name="commandType">执行类型</param> /// <param name="cmdParms">SQL参数对象</param> /// <returns>DataSet对象</returns> public DataSet ExecuteDataSet(string commandText, CommandType commandType, params SQLiteParameter[] cmdParms){if (string.IsNullOrEmpty(_conn))throw new ArgumentNullException("Connection string is missing.");if (string.IsNullOrEmpty(commandText))throw new ArgumentNullException("commandText");DataSet ds = new DataSet();SQLiteConnection con = null;SQLiteCommand cmd = new SQLiteCommand();SQLiteTransaction trans = null;try{con = new SQLiteConnection(_conn);PrepareCommand(cmd, con, ref trans, false, commandType, commandText, cmdParms);SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd);sda.Fill(ds);}catch (Exception ex){throw ex;}finally{if (con != null){if (con.State == ConnectionState.Open){con.Close();}}}return ds;}#endregion/// <summary> /// 通用分页查询方法 /// </summary> /// <param name="connString">连接字符串</param> /// <param name="tableName">表名</param> /// <param name="strColumns">查询字段名</param> /// <param name="strWhere">where条件</param> /// <param name="strOrder">排序条件</param> /// <param name="pageSize">每页数据数量</param> /// <param name="currentIndex">当前页数</param> /// <param name="recordOut">数据总量</param> /// <returns>DataTable数据表</returns> public DataTable SelectPaging(string tableName, string strColumns, string strWhere, string strOrder, int pageSize, int currentIndex, out int recordOut){DataTable dt = new DataTable();//查询总数 string countSql = "select count(*) from " + tableName + " where {0}";countSql = String.Format(countSql, strWhere);recordOut = Convert.ToInt32(ExecuteScalar(countSql, CommandType.Text));//分页 string pagingTemplate = "select {0} from {1} where {2} order by {3} limit {4} offset {5} ";int offsetCount = (currentIndex - 1) * pageSize;string commandText = String.Format(pagingTemplate, strColumns, tableName, strWhere, strOrder, pageSize.ToString(), offsetCount.ToString());using (DbDataReader reader = ExecuteReader(commandText, CommandType.Text)){if (reader != null){dt.Load(reader);}}return dt;}/// <summary> /// 预处理Command对象,数据库链接,事务,需要执行的对象,参数等的初始化 /// </summary> /// <param name="cmd">Command对象</param> /// <param name="conn">Connection对象</param> /// <param name="trans">Transcation对象</param> /// <param name="useTrans">是否使用事务</param> /// <param name="cmdType">SQL字符串执行类型</param> /// <param name="cmdText">SQL Text</param> /// <param name="cmdParms">SQLiteParameters to use in the command</param> private void PrepareCommand(SQLiteCommand cmd, SQLiteConnection conn, ref SQLiteTransaction trans, bool useTrans, CommandType cmdType, string cmdText, params SQLiteParameter[] cmdParms){if (conn.State != ConnectionState.Open)conn.Open();cmd.Connection = conn;cmd.CommandText = cmdText;if (useTrans){trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);cmd.Transaction = trans;}cmd.CommandType = cmdType;if (cmdParms != null){foreach (SQLiteParameter parm in cmdParms)cmd.Parameters.Add(parm);}}}
}
转载于:https://www.cnblogs.com/smartsmile/p/6234271.html
asp.net中配置使用Sqlite轻型数据库相关推荐
- 在asp.net中备份还原SQL Server数据库
在web中,安全性主要体现在两个方面:一个是程序安全性,即防止网页在插入恶意代码:另一个是数据库安全性,这个我们可以经常备份数据库来实现. 在文中,我将演示如果在网页中备份和恢复数据库. ...
- asp.net 中配置 FreeTextBox详解
FreeTextBox 是一个开源的服务器控件.我们可以轻松地将其嵌入到 Web Forms 中实现HTML内容的在线编辑.如图所示: 这就是我们在网页上编辑文字时经常使用的东西. 用asp.net做 ...
- 使用VS2017编译sqlite和在VS2017中配置使用sqlite的简单例子演示
转自:http://blog.csdn.net/hyxiaohaiyang/article/details/7382551 知识补充: sqlite3.dll动态链接库,它允许程序共享执行特殊任务所必 ...
- 【Linux内容】Linux系统中配置MySQL搭建主从数据库
1. 搭建主从数据库前期工作 确认主从数据库服务已经启动并且可以正常登陆.已经开放MySQL数据库访问端口号 2. 配置MySQL主库 3. 配置MySQL从库
- asp.net中ADO.NET连接SQL数据库代码和连接Access数据库代码
连接SQL数据库方法: 一.建立连接 1.(使用System.Data.SqlClient) <1> string strcon; //声明连接字串 ...
- Asp.net(C#)中备份还原SQL Server数据库实现
在web中,安全性主要体现在两个方面:一个是程序安全性,即防止网页在插入恶意代码:另一个是数据库安全性,这个我们可以经常备份数据库来实现. 在文中,我将演示如果在网页中备份和恢复数据库. 其实备份和恢 ...
- springboot 添加拦截器之后中文乱码_springboot中配置了拦截器后,拦截器无效的解决方案之一...
springboot的启动类xxxApplication不能扫描到拦截器配置类,可加上@ComponentScan(basePackages={"com.maya.common"} ...
- 利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包
原文:利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包 因为业务需要,项目中需要把asp.netmvc项目打包成exe安装程序给客户 ...
- ASP.NET中的配置文件
ASP.NET中的配置文件 原创 2014年10月13日 08:15:27 1199 在机房收费系统的时候曾经应用过配置文件,当时也就那么一用对配置文件了解的不是很透彻,下面就来总结一下有关配置文件的 ...
- iis与mysql关联_利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一
利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一 利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包 ...
最新文章
- python核心数据类型_Python核心数据类型—元组
- TextView之二:常用属性
- mysql数据库之忘记root密码
- Python下使用optparse模块实现对多个文件进行统计【二】
- mysql maria引擎_MySQL/mariadb知识点——存储过程及存储引擎
- 大型企业数据库服务首选,AliSQL这几大企业级功能你了解几个?
- Maven开发笔记(三)—— Maven中dependencies和dependencyManagement
- 树莓派HDMI分辨率的设置
- MacBook双开微信原来这么简单
- matlab画填充直方图,matlab使用imhist、plot、fill画可填充颜色连续直方图
- 机器学习基础-特征工程简析
- 今日头条视频地址提取 谷歌插件
- 我们如何一键识别?拍照识别植物的软件有哪些?
- 初学 博弈论 又称对策论 Game Theory
- BBEdit 12.6.6 代码编辑器
- 特性开关框架选型之FF4J vs Togglz
- WinRAR4.20注册文件key文件注册码
- 十年再出发,Dubbo 3.0 Preview 即将在 3 月发布
- CIO免费IT预算计划模板
- CLione插件推荐
热门文章
- mysql 在线语法检查工具_「mysql 管理工具」五大开源MySQL管理工具! - seo实验室
- 世界国旗/地图:世界各国国旗图标整理/与echarts世界地图配置对应
- jquery ajax 详细教程视频,jquery ajax 视频教程
- 安卓pdf取词翻译软件_写论文,你应该知道这些好用的论文翻译软件!
- Ubuntu上的论文翻译软件 --- 兰译
- 自动控制原理8.3---相平面法
- ccccccccccccccccccccc
- Linux常用命令(超详细)
- lopatkin俄大神精简系统Windows 10 Pro 18362.10006 19H2 PreRelease x86-x64 ZH-CN MICRO
- 学习 Qt 编程的好书推荐