• SQLite数据库之 第一次亲密接触


    SQLite是一个比较火的免费的轻量级嵌入式数据库,比较适合桌面程序和小型应用,最新版本可以去官网下载:
    http://www.sqlite.org/, 它只包含一个名叫SQLite3.exe的程序,下载完之后可以将其拷入系统盘Windows目录下,以方便命令行执行命。

    打开cmd命令行,键入 sqlite3 D:\Projects\SQLite\chytest.db即可创建新的或连接已有的DB,这时候DB已经挂到了SQLite3,可以执行增删查找操作了,比如:

    CREATE TABLE [Animals] (
      [AnimalId] INTEGER PRIMARY KEY AUTOINCREMENT,
      [AnimalName] NVARCHAR(100) NOT NULL ON CONFLICT ROLLBACK,
      [Color] VARCHAR(50) NOT NULL ON CONFLICT ROLLBACK DEFAULT Red,
      [Gender] CHAR(1) NOT NULL ON CONFLICT ROLLBACK DEFAULT M);
    insert into Animals (AnimalName, Color, Gender) values ('Cat', 'Black', 'F') ;
    select * from Animals;

    必须注意每一个命令都需要以分号结束,否则SQLite会认为命令输入未结束,继续等待输入而不执行。

    Sqlite也有很多可视化的管理工具, 比如 SQLite Expert, 可以去官网下载,有免费版本可用:

    安装完之后可以看看它自带的Demo DB,里面有很多表,可以大致学习一下基本结构和语法。

    如何在Asp.net中使用SQLite

    首先需要下载针对SQLite的驱动,所谓驱动也就是一个程序集System.Data.SQLite.dll罢了,可以去这里下载适合自己的驱动:

    驱动装完之后, 可以把里面的 System.Data.SQLite.dll 文件拷到你的程序目录,我们需要的只有它。 用起来就很简单了,直接在project里添加引用,然后跟使用Sql Server一样就可以了,参考以下代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SQLite;
    using System.Data;

    namespace SQLiteConsoleApp
    {
        class Program
        {
            static void Main(string[] args)
            {
                SQLiteConnection conn = new SQLiteConnection("Data Source=chytest.db");
                SQLiteCommand cmd = new SQLiteCommand("select * from tbl1", conn);
                SQLiteCommand cmd2 = new SQLiteCommand("insert into tbl1 (one, two) values ('code insert', 51)", conn);
                
                conn.Open();

                // insert new data
                
    //cmd2.ExecuteNonQuery();

                
    // use reader to read the data
                var reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    if (reader.HasRows)
                    {
                        Console.WriteLine(reader[0].ToString() + "~" + reader[1].ToString());
                    }
                }
                reader.Close();

                // use adapter to read data into datatable
                SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);
                DataTable dt = new DataTable("tbl1");
                adapter.Fill(dt);

                if (dt.Rows.Count > 0)
                {
                    foreach (DataRow row in dt.Rows)
                    {
                        Console.WriteLine(row[0].ToString() + "^" + row[1].ToString());
                    }
                }

                conn.Close();

                Console.ReadLine();

            }
        }
    }

    目前SQLite并不支持存储过程,并且因为是读写单锁机制,不适合高并发的应用。

  • 相关阅读:
    团队作业2 需求分析与原型设计
    团队作业1
    获取公众号关注二维码url
    用户绑定公众号列表与未绑定公众号列表
    修改个人信息
    公众号登录
    idea去掉右侧小窗口代码块预览,idea去掉右侧代码预览
    微信退款 订单金额或退款金额与之前请求不一致,请核实后再试
    取消支付
    linux命令发送请求
  • 原文地址:https://www.cnblogs.com/chyspace/p/2530886.html
Copyright © 2020-2023  润新知