C#使用sqlite数据库

C#sqlite

环境:Mac win7虚拟机,vs2013

首先下载安装Sqlite ADO.NET(有很多版本,我用的是1.0.93)

下载下来一路next就可以安装好。

然后在工程里面添加引用system.data.sqlite.dll和SQLite.Interop.dll。我电脑里面这两个文件在C:\Program Files (x86)\System.Data.SQLite\2013\bin。

然后添加using System.Data.SQLite;就可以用了。


具体增删查改操作

创建数据库文件

在根目录下创建一个sqlite文件

//C#

public static SQLiteConnection getDatabase(){
            SQLiteConnection conn = null;

            string dbPath = "Data Source =" + Environment.CurrentDirectory + "/test.db";
            conn = new SQLiteConnection(dbPath);//创建数据库实例,指定文件位置 
            return conn;
    }

建表

//C#

private void createTable(){
        SQLiteConnection conn = getDatabase();

        conn.Open();//打开数据库,若文件不存在会自动创建  
        
        string sql = "CREATE TABLE IF NOT EXISTS testTable(id integer primary key,a text,b text,c text);";//建表语句  
        SQLiteCommand cmdCreateTable = new SQLiteCommand(sql, conn);
        cmdCreateTable.ExecuteNonQuery();//如果表不存在,创建数据表 
        conn.Close();
}

增

//C#
private void insertIntoDatabase()
        {
            SQLiteConnection conn = getDatabase();
            conn.Open();
            SQLiteCommand cmdInsert = new SQLiteCommand(conn);
            cmdInsert.CommandText = "INSERT INTO testTable(a,b,c) VALUES(1,2,3)";//插入数据  
            cmdInsert.ExecuteNonQuery();
            conn.Close();
        }

删

//C#

private void deleteFromDatabase(int a)
        {
            SQLiteConnection conn = getDatabase();
            conn.Open();
            string sql = "delete from testTable where id = " + a;
            SQLiteCommand cmdInsert = new SQLiteCommand(conn);
            cmdInsert.CommandText = sql;  
            cmdInsert.ExecuteNonQuery();
            conn.Close();
        }

查

//C#
public void readNameFromDatabase()
        {
            SQLiteConnection conn = getDatabase();
            conn.Open();//打开数据库,若文件不存在会自动创建  
            string sql = "select id name from testTable";
            SQLiteCommand cmdQ = new SQLiteCommand(sql, conn);
            SQLiteDataReader reader = cmdQ.ExecuteReader();
            while (reader.Read())
            {
            	int id = reader.GetInt32(0);
                string a = reader.GetString(1);
                string b = reader.GetString(2);
                string c = reader.GetString(3);
                //………………
            }
            conn.Close();

            // Console.ReadKey(); 
        }

改

//C#
private void updateDatabase(int a)
        {
            SQLiteConnection conn = getDatabase();
            conn.Open();
            string sql = "update testTable set a = 5,b = 6,c = 7 where id = " + a;
            SQLiteCommand cmdInsert = new SQLiteCommand(conn);
            cmdInsert.CommandText = sql;
            cmdInsert.ExecuteNonQuery();
            conn.Close();
            
        }

跟iOS上sqlite用法好像啊……