ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Sqlite: 在C#程序中的应用

2020-03-17 14:01:37  阅读:192  来源: 互联网

标签:Sqlite Console string C# cmd 程序 sqlite con


Sqlite简单介绍:

1. 是一种关系型数据库,它是open source, 不是open contribute的,也就是说所有人都可以拿到source code,但是只有相关的人员可以上传code,下载到本地之后,可以修改code自己是使用,但是不能上传,有专门的人维护,就是质量有保证。

2. 另外一个特色是,区别于其他的关系型数据库,它是跟应用程序一起的,不需要独立运行的服务器,只是对当前硬盘上的文件进行读写,这一点也是它迅速推广的原因。

3. 用ANSI-C写的,有两个文件.c和.h。可以跨平台,不管windows,IOS或者Andorid都支持,同时也已经是手机的自带组件。

C#中使用Sqlite:

那我们使用下面几步就可以简单的建立一个C#程序并且使用Sqlite建立数据库。

1. 利用VisualStudio建立一个windows form的工程:

2. 利用NuGet去安装Sqlite的ADO.NET provider,利用该provider就可以连接(打开文件,关闭文件等)sqlite数据库。

首先右键工程,打开Nuget Manager

在search中搜索sqlite,则会列出很多关于sqlite的packages,选择System.Data.Sqlite包(为了兼容.NET CORE, 开发了新的Mircosoft.Data.Sqlite,API 基本相同,并实现了跨平台),进行安装

3. 建一个新类

4. 在新建类里面添加新的方法

        SQLiteConnection con;
        SQLiteCommand cmd;
        SQLiteDataReader dr;
        public void CreateDatabaseAndTable()
        {
            if (!File.Exists("MyDatabase.sqlite"))
            {
                SQLiteConnection.CreateFile("MyDatabase.sqlite");
 
                string sql = @"CREATE TABLE Student(
                               ID INTEGER PRIMARY KEY AUTOINCREMENT ,
                               FirstName           TEXT      NOT NULL,
                               LastName            TEXT       NOT NULL
                            );";
                con = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
                con.Open();
                cmd = new SQLiteCommand(sql, con);
                cmd.ExecuteNonQuery();
                con.Close();
 
            }
            else
            {
                con = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
            }
        }

CreateDatabaseAndTable()这个函数里,先进行了判断,是否文件MyDatabase.sqlite存在,如果不存在就先创建文件,并创建了新表Student,如果文件已经存在则直接打开文件。

4. 如果你想添加数据或者查询数据,可以参考如果code.

        public void AddData(string name,string lastname)
        {
            cmd = new SQLiteCommand();
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "insert into Student(FirstName,LastName) values ('" + name + "','" + lastname + "')";
            cmd.ExecuteNonQuery();
            con.Close();
        }
 
        public void SelectData()
        {
            int counter = 0;
            cmd = new SQLiteCommand("Select *From Student", con);
            con.Open();
            dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                counter++;
                Console.WriteLine(dr[0] + " : " + dr[1]+" "+dr[2]);
 
            }
            con.Close();
 
        }

5. 在Main函数中,你可以进行如下的调用,那么例子就完成了。

    class Program
    {
        static void Main(string[] args)
        {
            Sample samp = new Sample();
            samp.CreateDatabaseAndTable();
 
 
            Console.Write("Add Name      :");
            string name = Console.ReadLine();
 
            Console.Write("Add LastName  :");
            string lastname = Console.ReadLine();
 
            samp.AddData(name,lastname);
 
            Console.WriteLine("*************************");
            samp.SelectData();
 
            Console.ReadLine();
        }
    }

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:Sqlite,Console,string,C#,cmd,程序,sqlite,con
来源: https://blog.csdn.net/SpringDou/article/details/104919415

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有