appsettings

<configuration>
    <appSettings>
        <add key="ConnectionString" value="Data Source=.;Initial Catalog=Test;User Id=sa;Password=123;" />

</appSettings>
</configuration>

connectionStrings

<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=.;Initial Catalog=Test;Persist Security Info=True;User ID=sa;Password=123;" providerName="System.Data.SqlClient"/>
  </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封装的更多相关文章

  1. [C#] 简单的 Helper 封装 -- SQLiteHelper

    using System; using System.Data; using System.Data.SQLite; namespace SqliteConsoleApp { /// <summ ...

  2. 封装SqliteHelper类--Sqlite数据库

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  3. Swift版的SQLiteHelper

    SQLiteHelper 创建SQLiteHelper类 /// SQLite数据库处理帮助类 /// /// 此类中封装了关于SQLite数据库处理的业务函数 class SQLiteHelper ...

  4. C#对SQLite、Access数据库操作的封装,很好用的~

    1.对SQLite的封装: using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

  5. [C#] 改进SqliteHelper, 减少拼接SQL语句

    说明:开始几个是基本的方法,后面稍微封装了下 public class SqliteHelper { //连接字符串 private static readonly string str = Conf ...

  6. [C#] 简单的 Helper 封装 -- RegularExpressionHelper

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. iOS开发之App间账号共享与SDK封装

    上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SD ...

  8. Ajax实现原理,代码封装

    都知道实现页面的异步操作需要使用Ajax,那么Ajax到是怎么实现异步操作的呢? 首先需要认识一个对象 --> XMLHttpRequest 对象 --> Ajax的核心.它有许多的属性和 ...

  9. 用C语言封装OC对象(耐心阅读,非常重要)

    用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...

随机推荐

  1. spring day02-go3

    1.复制xml到container/basic包下2.ExampleBean中设置属性,包括基本类型(String和age)和集合类型(List,Set,Map),Properties类型3.添加无参 ...

  2. CCF真题之窗口

    201403-2 问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域.窗口的边界上的点也属于该窗口.窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示 ...

  3. centOS6.6升级gcc4.8

    最近想升级mesos0.23.0,结果编译mesos0.23.0需要gcc4.8+,可是centOS6.6最高版本的gcc也只到4.4.7版本,只好手动升级一下了. 下载4.8.2源码 wget ft ...

  4. Java Switch(String)

    package shb.java.test; /** * switch支持字符串 * @Package:shb.java.test * @Description: * @author shaobn * ...

  5. paper 9:SVM番外篇:支持向量机系列六:Duality —— 关于 dual 问题推导的一些补充理论。

    在之前关于 support vector 的推导中,我们提到了 dual ,这里再来补充一点相关的知识.这套理论不仅适用于 SVM 的优化问题,而是对于所有带约束的优化问题都适用的,是优化理论中的一个 ...

  6. C# 把字符串类型日期转换为日期类型

    方法一:Convert.ToDateTime(string) string格式有要求,必须是yyyy-MM-dd hh:mm:ss ================================== ...

  7. test generation和MBIST

    The problem of test generation Random test generation Deterministic algorithm for test generation fo ...

  8. 如何在真机上调试Android应用程序(图文详解)(zz)

    http://www.cnblogs.com/lanxuezaipiao/archive/2013/03/11/2953564.html   1.首先将手机设置为调试模式 方法:设置——应用程序——开 ...

  9. dbms_sql包的用法

    http://blog.itpub.net/20948385/viewspace-691398 对于一般的select操作,如果使用动态的sql语句则需要进行以下几个步骤: open   cursor ...

  10. 【crunch bang】国内源

    /etc/apt/sources.list 因为测试需要,装完Debian7 后,更新为163的源,但是后来装软件时,一些软件依赖包还是装不上.后来把163源稍加改动,就好用了.163源内容如下: d ...