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. 用Commons-FileUpload组件实现文件上传

    需要用到Tomcat还有commons-fileupload-1.3.1.jar包和commons-io-2.4.jar包. 如果需要传一个文件,form表单必须有enctype="mult ...

  2. Windows7 IIS7.5 HTTP Error 503 The service is unavailable 另类解决方案

    这篇文章是在你看了别的解决方案仍然解决不了之后才有用. 所以再未用别的解决方案之前,用了该解决方案依然无效的话,请自己看着办. 原创: .net2.0和.net3.5的应用程序池请在开始菜单打开VS2 ...

  3. paper 74:MATLAB图像处理_HSV与RGB颜色空间互转

    HSV空间:分别是H(色调)——S(饱和度)——V(亮度) 与HSI颜色空间类似:分别是H(色调)——S(饱和度)——I(强度) 注意: 强度和亮度差不多是一个概念. 饱和度代表的是渗入白光的数量级, ...

  4. paper 7:支持向量机系列四:Outliers —— 介绍支持向量机使用松弛变量处理 outliers 方法。

    在最开始讨论支持向量机的时候,我们就假定,数据是线性可分的,亦即我们可以找到一个可行的超平面将数据完全分开.后来为了处理非线性数据,使用 Kernel 方法对原来的线性 SVM 进行了推广,使得非线性 ...

  5. linux时钟同步

    方法1. ntpdate ip 搜索时钟服务器.找一个靠谱的时钟ip执行以上命令即可 可以把这个加入crontab中定时同步.# /usr/sbin/ntpdate 210.72.145.44 > ...

  6. css 文字换行控制

    强制不换行 white-space:nowrap 强制不换行,并显示省略号 word-wrap: normal; text-overflow: ellipsis; white-space: nowra ...

  7. .container_fluid 与 .container 的区别

    .container 会在左右两侧留白边,而且是自动的,不用设置. .container{ padding-right:15px; padding-left:15px; margin-right:au ...

  8. 项目中的一个JQuery ajax实现案例

    /**  * brief 这些代码用于在线制图中 attention author <list of authors> <date> begin modify by  * nu ...

  9. top 介绍

    本文转自:http://www.2cto.com/os/201209/157960.html,感谢作者的辛勤付出! top命令经常用来监控linux的系统状况,比如cpu.内存的使用,程序员基本都知道 ...

  10. 160901、在大型项目中组织CSS

    编写CSS容易. 编写可维护的CSS难. 这句话你之前可能听过100次了. 原因是CSS中的一切都默认为全局的.如果你是一个C程序员你就知道全局变量不好.如果你是任何一种程序员,你都知道隔离和可组合的 ...