C#-SQLite-使用教程笔记

这篇具有很好参考价值的文章主要介绍了C#-SQLite-使用教程笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微软官网资料链接(可下载文档)

教程参考链接:SQLite 教程 - SQLite中文手册

项目中对应的system.dat文件可以用SQLiteStudio打开查看

参考文档:https://d7ehk.jb51.net/202008/books/SQLite_jb51.rar

总结介绍

1、下载SQLiteStudio对数据库文件进行管理、查看

2、代码中通过NuGet添加System.Data.SQLite

3、代码类:SQLiteConnection连接本地数据库文件》SQLiteCommand配置命令并执行》连接关闭

一、SQLite数据下载,安装,使用(管理查看数据)

1,下载

下载绿色免安装版本

链接:百度网盘 请输入提取码

提取码:hgoc

1、参考网站:SQLite Home Page,下载地址:System.Data.SQLite: Downloads Page

2,安装

  免安装,双击SQLiteStudio可以打开使用,如果放在项目中,建议复制到C:\Program Files (x86) ,防止被误删除掉

3,添加数据库

  数据库》添加数据库》输入数据名称》确定

4,创建数据表

  Tables》新建表

C#-SQLite-使用教程笔记,c#,sqlite,笔记

 自动生成的创建表的sql语句

1

2

3

4

5

6

7

8

CREATE TABLE SysAdmin (

    

LoginID   INTEGER      PRIMARY KEY AUTOINCREMENT

                           

DEFAULT (10000),

    

LoginName VARCHAR (20) NOT NULL,

    

LoginPwd  VARCHAR (50) NOT NULL,

    

Role      INTEGER      DEFAULT (0)

                           

NOT NULL

);

  

5,添加字段C#-SQLite-使用教程笔记,c#,sqlite,笔记

6,数据库的位置

  数据表都创建好了之后,鼠标放在数据库名上,就显示数据库所在的目录

二、C#使用SQLite数据需要添加的引用(上面的wiki路径下载里有)

1,VS使用NuGet添加使用,搜索:System.Data.SQLite添加即可

三、代码中数据库命令操作

包含功能:增删数据库文件;增删改数据表;增删改查数据内容文章来源地址https://www.toymoban.com/news/detail-700290.html

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SQLite;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;

namespace MyFrom
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        // 添加数据表
        private void button1_Click(object sender, EventArgs e)
        {
            string path = Application.StartupPath + "\\test.db";
            SQLiteConnection cn = new SQLiteConnection("data source=" + path);
            //cn.Open();
            cn.Close();
            label1.Text = "添加数据库完成";
        }
        // 删除数据表
        private void button2_Click(object sender, EventArgs e)
        {
            string path = Application.StartupPath + "\\test.db";
            if (System.IO.File.Exists(path))
            {
                System.IO.File.Delete(path);
            }
            label1.Text = "删除数据库完成";
        }
        // 添加数据表
        private void button3_Click(object sender, EventArgs e)
        {
            string path = Application.StartupPath + "\\test.db";
            SQLiteConnection cn = new SQLiteConnection("data source=" + path);
            if (cn.State != System.Data.ConnectionState.Open)
            {
                cn.Open();
                SQLiteCommand cmd = new SQLiteCommand();
                cmd.Connection = cn;
                // cmd.CommandText = "CREATE TABLE t1(time string,id varchar(4),score int)";
                cmd.CommandText = "CREATE TABLE IF NOT EXISTS t1(time string,id varchar(4),score int)";
                cmd.ExecuteNonQuery();
            }
            cn.Close();
            label1.Text = "添加数据表完成";
        }
        // 删除数据表
        private void button4_Click(object sender, EventArgs e)
        {
            string path = Application.StartupPath + "\\test.db";
            SQLiteConnection cn = new SQLiteConnection("data source=" + path);
            if (cn.State != System.Data.ConnectionState.Open)
            {
                cn.Open();
                SQLiteCommand cmd = new SQLiteCommand();
                cmd.Connection = cn;
                cmd.CommandText = "DROP TABLE IF EXISTS t1";
                cmd.ExecuteNonQuery();
            }
            cn.Close();
            label1.Text = "删除数据表完成";
        }
        // 更改数据表名
        private void button5_Click(object sender, EventArgs e)
        {
            string path = Application.StartupPath + "\\test.db";
            SQLiteConnection cn = new SQLiteConnection("data source=" + path);
            if (cn.State != System.Data.ConnectionState.Open)
            {
                cn.Open();
                SQLiteCommand cmd = new SQLiteCommand();
                cmd.Connection = cn;
                cmd.CommandText = "ALTER TABLE t3 RENAME TO t1";
                cmd.ExecuteNonQuery();
            }
            cn.Close();

            label1.Text = "更改表名完成";
        }
        // 添加数据表列元素
        private void button6_Click(object sender, EventArgs e)
        {
            string path = Application.StartupPath + "\\test.db";
            SQLiteConnection cn = new SQLiteConnection("data source=" + path);
            if (cn.State != System.Data.ConnectionState.Open)
            {
                cn.Open();
                SQLiteCommand cmd = new SQLiteCommand();
                cmd.Connection = cn;
                cmd.CommandText = "ALTER TABLE t1 ADD COLUMN age int";
                cmd.ExecuteNonQuery();
            }
            cn.Close();

            label1.Text = "添加列完成";
        }
        // 添加数据
        private void button7_Click(object sender, EventArgs e)
        {
            string path = Application.StartupPath + "\\test.db";
            SQLiteConnection cn = new SQLiteConnection("data source=" + path);
            if (cn.State != System.Data.ConnectionState.Open)
            {
                cn.Open();
                SQLiteCommand cmd = new SQLiteCommand();
                cmd.Connection = cn;
                //time string,id varchar(4),score int
                cmd.CommandText = "INSERT INTO t1(time,id,score) VALUES(@time,@id,@score)";

                cmd.Parameters.Add("id", DbType.String).Value = "666";
                //cmd.Parameters.Add("age", DbType.Int32).Value = n;
                cmd.Parameters.Add("score", DbType.Int32).Value = 22;
                cmd.Parameters.Add("time", DbType.String).Value = DateTime.Now.ToString();
                cmd.ExecuteNonQuery();
            }
            cn.Close();

            label1.Text = "添加数据完成";
        }
        // 更改数据
        private void button8_Click(object sender, EventArgs e)
        {
            string s = "888";
            int n = 1077777;
            int myscore = 1;
            string path = Application.StartupPath + "\\test.db";
            SQLiteConnection cn = new SQLiteConnection("data source=" + path);
            if (cn.State != System.Data.ConnectionState.Open)
            {
                cn.Open();
                SQLiteCommand cmd = new SQLiteCommand();
                cmd.Connection = cn;
                //time string,id varchar(4),score int

                cmd.CommandText = "UPDATE t1 SET id=@id,age=@age WHERE id='666'";
                cmd.Parameters.Add("id", DbType.String).Value = s;
                cmd.Parameters.Add("age", DbType.Int32).Value = n;
                cmd.ExecuteNonQuery();

            }
            cn.Close();
            label1.Text = "更改数据完成";
        }
        // 删除数据
        private void button9_Click(object sender, EventArgs e)
        {
            string path = Application.StartupPath + "\\test.db";
            SQLiteConnection cn = new SQLiteConnection("data source=" + path);
            if (cn.State != System.Data.ConnectionState.Open)
            {
                cn.Open();
                SQLiteCommand cmd = new SQLiteCommand();
                cmd.Connection = cn;
                //time string,id varchar(4),score int

                cmd.CommandText = "DELETE FROM t1 WHERE id='888'";

                cmd.ExecuteNonQuery();

            }
            cn.Close();

            label1.Text = "删除数据完成";
        }
        // 查询数据
        private void button10_Click(object sender, EventArgs e)
        {
            string path = Application.StartupPath + "\\test.db";
            SQLiteConnection cn = new SQLiteConnection("data source=" + path);
            if (cn.State != System.Data.ConnectionState.Open)
            {
                cn.Open();
                SQLiteCommand cmd = new SQLiteCommand();
                cmd.Connection = cn;
                //time string,id varchar(4),score int

                cmd.CommandText = "SELECT * FROM t1 WHERE rowid=2";     // 读取第二行,行数从1开始
                SQLiteDataReader sr = cmd.ExecuteReader();

                Console.WriteLine("查询到的数据如下:");
                while (sr.Read())
                {
                    int count = sr.VisibleFieldCount;
                    for (int i = 0; i < count; i++)
                    {
                        Console.WriteLine(sr[i].ToString() + " ");
                    }
                    
                    string s = sr.GetString(0);
                    Console.WriteLine(s);
                }
                sr.Close();
            }
            cn.Close();

            label1.Text = "查询数据完成";
        }
    }
}

到了这里,关于C#-SQLite-使用教程笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AndroidStudio基于Sqlite的登录注册(保姆级教程)

    1、先创建一个空的项目 选好后直接Finish就行  2、对activity_mian,xml文件进行布局 3、MainActivity代码  4、User类的代码: 5、MySqliteHelper类的代码: 6、Good与Register类都为创建的Empty Activity          7、Good类的代码:  activity_good.xml代码: 8、Register类的代码: activity_register.xml代码

    2024年02月10日
    浏览(45)
  • 软件设计开发笔记4:QT操作SQLite数据库

      有时候我们需要在软件中记录一些历史数据以便于对数据的查询。而我们希望软件不能太复杂,体量也不要太大,这个时候就需要如SQLite这样轻量级的数据库。这篇中我们就来讨论如何在使用QT开发应用是操作SQLite数据库。   SQLite是一款开源、轻量级、跨平台的数据库

    2024年02月09日
    浏览(65)
  • flask笔记 02 | Flask数据库连接(sqlite、mysql)

    Flask没有指定使用的数据库,不像django提供了orm数据库抽象层,可以直接采用对象的方式操作数据库。但为了开发效率,在开发Flask项目中一般会选择 SQLALchemy 来操作数据库,类似django的ORM. SQLALchemy实际是对数据库的抽象,让开发者不直接使用sql语句进行开发,而是通过Pytho

    2024年01月25日
    浏览(50)
  • 【教程】navicat配合HTTP通道远程连接SQLite数据库

    🍊缘由 好奇的我想查看服务器上宝塔面板的SQLite数据库 久别一月,特来水文。起因是我看到 服务器上搭建的宝塔面板 ,好奇其中使用的 SQLite数据库 ,想用 navicat远程连接 看一下,奈何不会玩,特来写一篇文章解析一下,如何通过Navicat Premium工具下 ntunnel_sqlite.php 工具 配合

    2024年02月04日
    浏览(58)
  • Linux系统下SQLite创建数据库, 建表, 插入数据保姆级教程

    1,创建数据库: sqlite test.db  我这边是sqlite2版本, 直接使用命令sqlite test.db创建一个名称为test的数据库; test是你自定义是数据库名 , 创建好数据库后, 接下来开始创建表格 2.创建表格, 就是常规的sql建表语句 CREATE TABLE  ids_logs ( english_details TEXT, chinese_details TEXT, event_definition TEXT

    2024年02月08日
    浏览(65)
  • Unity 使用Sqlite

    我看网上都在讲引用sqlite3.dll,Mono.Data.Sqlite.dll,System.Data.dll,比如Setup Database (SQLite) for Unity 或者第三方的一些导入方式unity-3rdparty-sqlite-net 或者通过第三方包管理工具导入Unity3D 入门:如何管理 Unity 项目中的 NuGet 包?使用第三方 NuGet 包管理器——NuGetForUnity 但我发现Unity有关

    2024年02月10日
    浏览(39)
  • SQLite 使用(针对Android)

    SQLite的注意事项: 标准的主键写法:_id。(不标准写法:id),此外,主键只能是Integer类型的。 像varchar,char等最终内部都会转变成text格式。 android里面的SQLite数据库是由底层的sqlite.c的代码来动态生成的。 官方下载地址:https://www.sqliteexpert.com/download.html 模拟器下面的db数据库

    2024年02月08日
    浏览(46)
  • SQLite简单概述以及使用

          SQLite是一种轻量级的关系型数据库管理系统,它不需要独立的服务器进程,也不需要配置多个参数,就可以直接访问一个文件中的数据库,它以C语言库的形式提供了一个嵌入式的数据库引擎,支持SQL语言标准的大部分功能,但相比于MySQL、Oracle等数据库,SQLite的体积小

    2024年02月08日
    浏览(42)
  • uniapp使用sqlite

    1、判断数据库是否打开 2、创建数据库(有就打开) 3、关闭数据库 4、执行sql

    2024年02月21日
    浏览(27)
  • SQLite简单使用

    环境 操作系统:CentOS-7-x86_64-Everything-2009.iso

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包