SQLite sql script:

CREATE TABLE BookKindList
(
BookKindID INTEGER PRIMARY KEY AUTOINCREMENT,
BookKindName varchar(500) not null,
BookKindCode varchar(100) null,
BookKindParent int null
) --添加
insert into BookKindList(BookKindName,BookKindCode,BookKindParent) values('目录','0003',1);
--查询
select * from BookKindList; select * from BookKindList where BookKindList.BookKindID=2;
--删除
delete from BookKindList where BookKindList.BookKindID=3;
--更新
update BookKindList set BookKindName='文学',BookKindCode='0002',BookKindParent=1 where BookKindID=2; --返回添加自增ID
select last_insert_rowid();

  SQLite 数据库连接字符

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ConnectionAccess2003String" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|geovindu.mdb;Persist Security Info=True"/>
<add key="ConnectionAccess2007String" value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|geovindu.accdb;Persist Security Info=True"/>
<add key="ConnectionSQLString" value="Data Source=LF-WEN\GEOVINDU;Initial Catalog=geovindu;User ID=sa;Password=geovindu"/>
<add key="ConnectionSQLiteString" value="Data Source=geovindu.db3;Version=3;Password=geovindu;Pooling=true;FailIfMissing=false;"/>
<add key="ConnectionMySQLString" value="Database='geovindu';Data Source='127.0.0.1';User Id='root';Password='geovindu';charset='utf8';pooling=true;Port=3306;Allow Zero Datetime=true;"/>
<add key="WebDAL" value="AccessDAL"/>
<!--<add key="WebDAL" value="SqlServerDAL"/>-->
<!--<add key="WebDAL" value="SqlSQLiteDAL"/>-->
<!--<add key="WebDAL" value="SqlMySQLDAL"/>-->
<!--<add key="WebDAL" value="SqlPostgreSQLDAL"/>-->
</appSettings> </configuration>

  

Csharp操作SQLite 添加返回值

 /// <summary>
/// 涂聚文 20150212
/// SQLite 添加返回值ID
/// </summary>
/// <param name="SQLString"></param>
/// <param name="identity"></param>
/// <param name="cmdParms"></param>
/// <returns></returns>
public static int ExecuteSql(string SQLString, out int identity, params SQLiteParameter[] cmdParms)
{
string en = "";
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
using (SQLiteCommand cmd = new SQLiteCommand())
{
try
{
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
int rows = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
cmd.CommandText = "select last_insert_rowid();";
en = cmd.ExecuteScalar().ToString();
identity = int.Parse(en);
cmd.Parameters.Clear();
return rows;
}
catch (SQLiteException E)
{
throw new Exception(E.Message);
}
}
}
}

  

 /// <summary>
/// 追回返回值
/// SQLite涂聚文
/// </summary>
/// <param name="bookKindList"></param>
/// <param name="id"></param>
/// <returns></returns>
public int InsertBookKindOut(BookKindListInfo bookKindList, out int id)
{
int ret = 0;
int tid = 0;
try
{
StringBuilder str = new StringBuilder();
str.Append("insert into BookKindList(BookKindName,BookKindCode,BookKindParent) values(");
str.Append("@BookKindName,@BookKindCode,@BookKindParent);");
SQLiteParameter[] par = new SQLiteParameter[]{
new SQLiteParameter("@BookKindName",DbType.String,1000),
new SQLiteParameter("@BookKindCode",DbType.String,1000),
new SQLiteParameter("@BookKindParent",DbType.Int32,4),
//new SQLiteParameter("@BookKindID",DbType.Int32,4),
};
par[0].Value = bookKindList.BookKindName;
par[1].Value = bookKindList.BookKindCode;
par[2].Value = bookKindList.BookKindParent;
//par[3].Direction = ParameterDirection.Output;//无效 不支持
ret = SQLiteHelper.ExecuteSql(str.ToString(), out tid, par);
if (ret > 0)
{
//tid = ret;// (int)par[3].Value;
}
}
catch (SQLiteException ex)
{
throw ex;
}
id = tid; return ret;
}

  Csharp操作Access添加返回值

        /// <summary>
/// Access 添加返迴ID值
/// 涂聚文 2014-12-29
/// Geovin Du
/// 參考: http://www.mikesdotnetting.com/article/54/getting-the-identity-of-the-most-recently-added-record
/// http://stackoverflow.com/questions/186544/identity-after-insert-statement-always-returns-0
/// </summary>
/// <param name="SQLString"></param>
/// <param name="identity"></param>
/// <param name="cmdParms"></param>
/// <returns></returns>
public static int ExecuteSql(string SQLString, out int identity, params OleDbParameter[] cmdParms)
{ using (OleDbConnection connection = new OleDbConnection(connectionString))
{
using (OleDbCommand cmd = new OleDbCommand())
{
try
{
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
int rows = cmd.ExecuteNonQuery();
cmd.CommandText = "Select @@Identity";
identity = (int)cmd.ExecuteScalar();
cmd.Parameters.Clear();
return rows;
}
catch (System.Data.OleDb.OleDbException E)
{
throw new Exception(E.Message);
}
}
}
}

  

        /// <summary>
/// Access 追加返回值
/// 涂聚文
/// 20141205
/// </summary>
/// <param name="bookKindList"></param>
/// <param name="id"></param>
/// <returns></returns>
public int InsertBookKindOut(BookKindListInfo bookKindList, out int id)
{
int ret = 0;
int tid = 0;
try
{
StringBuilder str = new StringBuilder();
str.Append("insert into BookKindList(BookKindName,BookKindCode,BookKindParent) values(");
str.Append("@BookKindName,@BookKindCode,@BookKindParent);");
OleDbParameter[] par = new OleDbParameter[]{
new OleDbParameter("@BookKindName",OleDbType.VarChar,1000),
new OleDbParameter("@BookKindCode",OleDbType.VarChar,1000),
new OleDbParameter("@BookKindParent",OleDbType.Integer,4),
//new OleDbParameter("@BookKindID",OleDbType.Integer,4),
};
par[0].Value = bookKindList.BookKindName;
par[1].Value = bookKindList.BookKindCode;
par[2].Value = bookKindList.BookKindParent;
//par[3].Direction = ParameterDirection.Output;//无效 不支持
ret = DbHelperOleDb.ExecuteSql(str.ToString(), out tid, par);
if (ret > 0)
{
//tid = ret;// (int)par[3].Value;
}
}
catch (OleDbException ex)
{
throw ex;
}
id = tid; return ret;
}

 https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

https://github.com/praeclarum/sqlite-net

https://github.com/sqlitebrowser/sqlitebrowser

https://sourceforge.net/projects/sqlitebrowser/files/

http://sqlitebrowser.org/ 

csharp:SQLite and Access using C# code read data的更多相关文章

  1. sqlserver,sqlite,access数据库链接字符串

    SqlServer:string connection = "server=32.1.1.48;database=数据库名;user=sa;password=sa2008"; ac ...

  2. 功能齐全、效率一流的免费开源数据库导入导出工具(c#开发,支持SQL server、SQLite、ACCESS三种数据库),每月借此处理数据5G以上

    软件名:DataPie 功能:支持SQL server.SQLite.ACCESS数据库的导入.导出.存储过程调用,支持EXCEL2007.EXCEL2003.ACCESS2007. CSV文件导入数 ...

  3. Separate code and data contexts: an architectural approach to virtual text sharing

    The present invention provides a processor including a core unit for processing requests from at lea ...

  4. Chrome DevTools: Export your raw Code Coverage Data

    The Code Coverage tool visually shows you which lines of code in your CSS and JavaScript are used an ...

  5. 51单片机数组的定义方法(code与data的作用)

    转自:http://blog.sina.com.cn/s/blog_94994f7b01010s1h.html 数组前不加“code”或“data”,则默认将数组存放在程序存储器中:code 指定数据 ...

  6. Spring最简单构建一个后台{msg:"登录成功",code:200,data:null}

    一.简介 {msg:"登录成功",code:200,data:null} 二.两种请求 如果严格msg code data也带"" @RestControlle ...

  7. SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.4

    最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面.为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面.在百度上找了很多方法,有通过微 ...

  8. SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.3

    最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面.为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面.在百度上找了很多方法,有通过微 ...

  9. SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.2

    最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面.为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面.在百度上找了很多方法,有通过微 ...

随机推荐

  1. [真题] 一道 vsftp 运维题

    一道 vsftp 运维题 一.前言 在 V 站上凑巧看到了好友发的求助帖,五天时间一个理他的都没有.哈哈哈~ 废话不多说,我们来试试. 二.题目 这里我们假设存在这样的场景: 网络内有普通用户 ade ...

  2. set,env和export命令显示shell变量其区别,与环境变量扫盲(一)

    种类: ♦ set     :  用来显示本地变量,显示当前shell的变量,包括当前用户的变量 ♦ env    :  用来显示环境变量,显示当前用户的变量. ♦ export:  用来显示和设置环 ...

  3. 阿里云服务器之Tomcat环境搭建以及域名绑定

    上一步主要主要讲解在服务器中建立自己的hexo博客环境,最后达到可以远程访问,以及远程git推送到github.这章主要讲解Tomcat环境的搭建,以及域名解析.到这里你的服务器以及可以被全世界的人民 ...

  4. SP9098 LCS3

    题目链接 题意分析 \(olinr\) : 序列自动机+一系列的鬼畜操作 相信我 你们没人能切 \(lzxkj\) : \(2^m+vector+\)暴力二分 跑得比你正解还快 首先一看\(m≤5\) ...

  5. 2016级算法第六次上机-D.AlvinZH的学霸养成记V

    1081 AlvinZH的学霸养成记V 思路 中等题,计算几何. 这是一个排序问题,按极角排序.可以转化为叉积的应用,对于点A和B,通过叉积可以判断角度大小,共线时再判断距离. 叉积的应用.OA × ...

  6. ArrayList集合与List与数组的区别

    import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.Lis ...

  7. 4、Caffe其它常用层及参数

    借鉴自:http://www.cnblogs.com/denny402/p/5072746.html 本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accu ...

  8. 网络基础 04_IP编址

    1 IP地址简介 什么是IP地址 在IP网络中,任何一个节点都需要一个唯一的IP IPV4 :32位 点分十进制 2 IP编址分类 有类编址 IP地址的类别 IP地址类型 网络地址:指代网络的地址.在 ...

  9. python学习,day4:装饰器的使用示例

    ---恢复内容开始--- 装饰器:本质是函数,(装饰其他函数)就是为其他函数添加附加功能 装饰器有其独特的原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 例子 import ...

  10. [JZOJ6075]【GDOI2019模拟2019.3.20】桥【DP】【线段树】

    Description N,M<=100000,S,T<=1e9 Solution 首先可以感受一下,我们把街道看成一行,那么只有给出的2n个点的纵坐标是有用的,于是我们可以将坐标离散化至 ...