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. mysql忘记密码

    修改 /etc/my.cnf 添加 skip-grant-tables 修改完后重启mysql 这样就可以直接进入mysql 然后修改mysql数据库密码 mysql>update user s ...

  2. join / left join / right join

    1 可以自己join自己 SELECT * FROM table_1 t1join table_1 ton t.target_id = t1.target_id 2 join要双方都满足才可以出现结果 ...

  3. DataSet客户端分页实现

    window.$ClientPageHelper=function(fromDs,toDs){ var pageSize=toDs.get('pageSize'); var elist=fromDs. ...

  4. ime-mode

    2016-08-18 ime-mode 用户输入法控制,主要是防止用户输入文本符号等(比如电话号码输入时) (设定值) auto・・・和没设定一样 active・・・激活本地输入法(如中文),用户可以 ...

  5. 7 -- Spring的基本用法 -- 5...

    7.5 Spring容器中的Bean 7.5.1 Bean的基本定义和Bean别名 <beans.../>元素是Spring配置文件的根元素,该元素可以指定如下属性: default-la ...

  6. python——Django(ORM连表操作)

    千呼万唤始出来~~~当当当,终于系统讲了django的ORM操作啦!!!这里记录的是django操作数据库表一对多.多对多的表创建及操作.对于操作,我们只记录连表相关的内容,介绍增加数据和查找数据,因 ...

  7. Web之路笔记之四

    2014秋季学期Web2.0课程作业 <Homework1 - Recipe> 给出内容的文本文档,根据要求编写html和css.基本上没有难点. 1. 需要添加标签栏名称前面的小图标,是 ...

  8. 即时聊天IM之一 XMPP协议简述

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:egojit@qq.com  综述: ...

  9. Flatten Binary Tree to Linked List [LeetCode]

    Given a binary tree, flatten it to a linked list in-place. For example,Given 1 / \ 2 5 / \ \ 3 4 6 T ...

  10. gulp教程之gulp-less

    简介: 使用gulp-less插件将less文件编译成css,当有less文件发生改变自动编译less,并保证less语法错误或出现异常时能正常工作并提示错误信息. 1.安装nodejs/全局安装gu ...