sqlitehelper封装
appsettings |
<configuration> </appSettings> |
connectionStrings |
<connectionStrings> |
APP.CONGIG文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--<connectionStrings>
<add connectionString="data sourse = cater.db;version =3;" name="constr"/> --><!--连接字符串配置文件,字符串名字--><!--
</connectionStrings>-->
<appSettings>
<add key="constr" value=" data source=cater.db;version =3;"/>
</appSettings>
<!--<connectionStrings >
<add name="constr" connectionString="data source =cater.db;version =3;"/>
</connectionStrings>-->
</configuration>
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SQLite;
using System.Data;
using System.Configuration;
namespace restaurant.DAL
{
public class SQLiteHelper
{ //连接字符串
private static readonly string str = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
string dd = ConfigurationManager.AppSettings["constr"].ToString();
/// <summary>
/// 增删改
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="param">参数</param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteNonQuery(string sql, params SQLiteParameter[] param)
{
using (SQLiteConnection conn = new SQLiteConnection(str))
{
using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
{
conn.Open();
if (param != null)
{
cmd.Parameters.AddRange(param);
}
return cmd.ExecuteNonQuery();
}
}
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sql">sql 语句</param>
/// <param name="param">参数</param>
/// <returns>返回 首行首列</returns>
public static object ExecuteScale(string sql, params SQLiteParameter[] param)
{
using (SQLiteConnection conn = new SQLiteConnection(str))
{
using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
{
conn.Open();
if (param != null)
{
cmd.Parameters.AddRange(param);
}
return cmd.ExecuteScalar();
}
}
}
/// <summary>
///多行查询
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="param">参数</param>
/// <returns>ExecuteReader</returns>
public static SQLiteDataReader ExecueDataReader(string sql, params SQLiteParameter[] param)
{
SQLiteConnection conn = new SQLiteConnection(str);
using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
{
if (param != null)
{
cmd.Parameters.AddRange(param);
}
try
{
conn.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
conn.Close();
cmd.Dispose();
throw ex;
}
}
}
/// <summary>
/// 查询多行数据
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="param">sql参数</param>
/// <returns>一个表</returns>
public static DataTable ExecuteTable(string sql, params SQLiteParameter[] param)
{
DataTable dt = new DataTable();
using (SQLiteDataAdapter sda = new SQLiteDataAdapter(sql, str))
{
if (param != null)
{
sda.SelectCommand.Parameters.AddRange(param);
}
sda.Fill(dt);
}
return dt;
}
}
}
sqlitehelper封装的更多相关文章
- [C#] 简单的 Helper 封装 -- SQLiteHelper
using System; using System.Data; using System.Data.SQLite; namespace SqliteConsoleApp { /// <summ ...
- 封装SqliteHelper类--Sqlite数据库
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- Swift版的SQLiteHelper
SQLiteHelper 创建SQLiteHelper类 /// SQLite数据库处理帮助类 /// /// 此类中封装了关于SQLite数据库处理的业务函数 class SQLiteHelper ...
- C#对SQLite、Access数据库操作的封装,很好用的~
1.对SQLite的封装: using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
- [C#] 改进SqliteHelper, 减少拼接SQL语句
说明:开始几个是基本的方法,后面稍微封装了下 public class SqliteHelper { //连接字符串 private static readonly string str = Conf ...
- [C#] 简单的 Helper 封装 -- RegularExpressionHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- iOS开发之App间账号共享与SDK封装
上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SD ...
- Ajax实现原理,代码封装
都知道实现页面的异步操作需要使用Ajax,那么Ajax到是怎么实现异步操作的呢? 首先需要认识一个对象 --> XMLHttpRequest 对象 --> Ajax的核心.它有许多的属性和 ...
- 用C语言封装OC对象(耐心阅读,非常重要)
用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...
随机推荐
- ./fedora_install_oracle.sh bad interpreter
错误原因之一很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A.可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC ...
- JAVA面试题之实现字符串的倒序输出
package shb.java.demo; public class MyTest { public static void main(String[] args) { String string ...
- Android 发送短信与接收短信
package com.example.testsms; import android.app.Activity; import android.app.PendingIntent; import a ...
- 夺命雷公狗---Thinkphp----11之管理员的增删改查的完善
由于我们刚才的帐号还没通过任何的验证就可以直接进入数据库了,这当然不是不合理的交互逻辑,所以我们要修改下,让他变得3合理一些, 所以我们还是要按照套路来修改几处即可解决问题: 首先修改下添加的控制器: ...
- MySQL增删改查
C/S:Client ServerB/S:Brower Server php主要实现B/S .net IIS java TomCat LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Ph ...
- 安装交叉编译器arm-linux-gcc
需要交叉编译环境故安装交叉编译环境 1.在宿主机的/usr/local/arm目录存放交叉编译器 mkdir /usr/local/arm 2.解压交叉编译器包至/usr/l ...
- ASP.NET MVC的TempData(转载)
本文章基于ASP.NET MVC Preview5. ASP.NET MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信 ...
- 注意!你的Thread.Abort方法真的让线程停止了吗?
大家都知道在C#里面,我们可以使用 Thread.Start方法来启动一个线程,当我们想停止执行的线程时可以使用Thread.Abort方法来强制停止正在执行的线程,但是请注意,你确定调用了Threa ...
- Linux字符设备驱动结构(一)--cdev结构体、设备号相关知识机械【转】
本文转载自:http://blog.csdn.net/zqixiao_09/article/details/50839042 一.字符设备基础知识 1.设备驱动分类 linux系统将设备分为3类:字符 ...
- 【python cookbook】【字符串与文本】15.给字符串中的变量名做插值处理
问题:想创建一个字符串,其中嵌入的变量名称会以变量的字符串值形式替换掉 解决方法:str.format().str.format_map() >>> s = '{name} has ...