1.如果自己手动创建了数据库和字段,则不需要再创建table,基本流程:

1)SQLiteConnectionStringBuilder sb = new SQLiteConnectionStringBuilder();

sb.DataSource = @"AA.db";//数据库名字

var conStr = sb.ToString();

2)using (var con = new SQLiteConnection(conStr)){……}这句话代表跟数据库建立连接

3)在上面建立的连接con中执行命令或事物

using (var cmd = new SQLiteCommand(cmdFormat1, con)){……}// cmdFormat1为command的string SQL语句;

command可以执行Insert、Select、Read等操作;向表格中插入数值除了固定的SQL Insert语句插入方法以外,还可以通过Parameters实现。

const string cmdFormat1 = "INSERT INTO PERSON VALUES(@ID,@NAME,@AGE)";//不规定具体的数值

cmd1.Parameters.Add(new SQLiteParameter("ID", 2));//分别对每个字段赋值

cmd1.Parameters.Add(new SQLiteParameter("NAME","Betty"));

cmd1.Parameters.Add(new SQLiteParameter("AGE", 24));

有时,需要将取得的数据输出,则再cmd中执行:

var reader=cmd1.ExecuteReader();

while (reader.Read())

{

int age = reader.GetInt16(0);//读到的第0列数据,同理,可以读取其他列数据

Console.WriteLine(age);

Console.ReadKey();

}

事务的代码:

using (var trans = con.BeginTransaction())

{

……(在此可以执行各种command等)

Trans.Commit();

}

在对数据库进行操作时,有时可能在执行SQL代码时出现错误,对数据库进行误操作,为了避免这种情况的出现,可用事务先提交,Trans.Commit()始终带try……catch……,当提交出现错误时在catch中进行rollback操作,代码如下

try

{

trans.Commit();

}

catch (System.Exception ex)

{

Console.WriteLine("Commit's exception:{0}",ex.ToString());

try

{

trans.Rollback();

}

catch (System.Exception ex1)

{

Console.WriteLine("Rollback's exception:{0}",ex1.ToString());

}

}

4)在程序中自己创建表格,

const string cmdFormat = "CREATE TABLE PERSON(ID INT,NAME STRING,AGE INT);";

执行该命令,如果该table已经建立了,在command中执行上面的那句话就会出错,为了避免该问题,在command中执行该命令时,加个try……catch……,这样,即使table已经建立,程序可以继续往下执行;

C# SQLite编程总结的更多相关文章

  1. Android-adb 常用命令 和 sqlite

    Android开发环境中,ADB是我们进行Android开发经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的. ADB概述 Android Debug Bridge,Androi ...

  2. SQLite多线程写锁文件解决方案

    在sqlite编程中多线程同时写时会出现异常,我写了个类来解决这个问题. 思路很简单,就是在开始写操作时,记下写操作的托管线程id,表示目前有线程正在做写操作:其他线程来写时,需要先检测是否有进程正在 ...

  3. sqlite3使用教程1 SQLite 命令

    http://www.runoob.com/sqlite/sqlite-commands.html 本章将向您讲解 SQLite 编程人员所使用的简单却有用的命令.这些命令被称为 SQLite 的点命 ...

  4. sqlite详细介绍

    ------------------------------------------------------------------------------SQLite简介-------------- ...

  5. Android——SQLite/数据库 相关知识总结贴

    android SQLite简介 http://www.apkbus.com/android-1780-1-1.html Android SQLite基础 http://www.apkbus.com/ ...

  6. linux c编程操作数据库(sqlite3应用)

     首先pThread 不是linux系统默认库,连接的时候需要使用库libpthread.a. 加入-lpthread参数.另外会有lopen什么找不到的情况.加入-ldl 指定目录.Project_ ...

  7. 系列文章--SQLite文章

    SQLite 随机取n行的方法   SQLite多线程写锁文件解决方案   sqlite和sql server语法上的一些区别   sqlite编程插入标示字段,获得新id   C# SQLiteHe ...

  8. Android SQLite(1)简单示例-增,删,改,查

    1.主要核心类,Sqlite编程要继承SQLiteOpenHelper import android.content.Context; import android.database.sqlite.S ...

  9. Android菜鸟成长记5-ADB和sqllite

    Android开发环境中,ADB是我们进行Android开发经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的. ADB概述 Android Debug Bridge,Androi ...

随机推荐

  1. [转] - 在mac的终端中使用sublime打开文件

    在mac的终端中使用sublime打开文件 使用sublime提供的命令行工具.这个命令行工具位于 /Applications/Sublime\ Text\ 2.app/Contents/Shared ...

  2. 正确使用ng-if和ng-show

    在使用bootstrap中,我们会经常用到按钮组,也就是btn-group,如果仔细观察的话,会发现一个按钮组的第一个和最后一个按钮分别是有圆角的,如下图: 但是中间的按钮是没有圆角的,这样显得比较美 ...

  3. iOS app 企业内部发布及HTTPS服务器配置

    转自: http://www.cnblogs.com/cocoajin/p/4082488.html iOS企业内部发布及HTTPS服务器配置 一:所需的条件 1. 苹果开发者证书,企业版 299$ ...

  4. typedef与#define的区别

    1.  typedef typedef故名思意就是类型定义的意思,但是它并不是定义一个新的类型而是给已有的类型起一个别名,在这一点上与引用的含义类似,引用是变量或对象的别名,而typedef定义的是类 ...

  5. HTML <a> download 属性,点击链接来下载图片

    Html5里面的 标签的 Download 属性可以设置一个值来规定下载文件的名称.所允许的值没有限制,浏览器将自动检测正确的文件扩展名并添加到文件 (.img, .pdf, .txt, .html, ...

  6. SQL Server Lock Escalation - 锁升级

    Articles Locking in Microsoft SQL Server (Part 12 – Lock Escalation) http://dba.stackexchange.com/qu ...

  7. OpenCV计算点到直线的距离 数学法

    我们在检测图像的边缘图时,有时需要检测出直线目标,hough变换检测出直线后怎么能更进一步的缩小区域呢?其中,可以根据距离来再做一判断,就涉及到了点与直线的距离问题. 点到直线距离代码如下: //== ...

  8. linux笔记:linux服务管理

    linux服务的分类: 启动和自启动: 查询已经安装的服务: RPM包的默认安装路径: 独立服务的启动: 独立服务的自启动: 基于xinetd的服务的管理: xinetd服务的自启动: 源码包安装服务 ...

  9. MySQL FUNCTION 整理

    -- 返回最后一个INSERT查询中, AUTO_INCREMENT列设置的第一个表的值. SELECT LAST_INSERT_ID();

  10. lesson32 Shopping for food

    EMPLOYEE: undefined763cff06-f7fc-4a01-b5f8-c78a2f0110ae.mp3 Can I help you, Sir? 0先生,我能帮你吗? BOB: und ...