SQLite C#实现操作

debug command

C:\1.db

 

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

namespace CSharpConnectionSQLLite
{
    class Dao
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dbDirectory"></param>
        /// <returns></returns>
        public SQLiteConnection GetConnection(string dbDirectory)
        {
            if (!File.Exists(dbDirectory))
            {
                SQLiteConnection.CreateFile(dbDirectory);
            }
            SQLiteConnectionStringBuilder connStr = new SQLiteConnectionStringBuilder();
            connStr.DataSource = dbDirectory;
            connStr.Pooling = true;
            connStr.FailIfMissing = true;
            SQLiteConnection conn = new SQLiteConnection(connStr.ToString());
            return conn;

        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="conn"></param>
        public void CloseConnection(SQLiteConnection conn)
        {
            if(conn!= null)
            {
                conn.Close();
            }
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="createTableSQL"></param>
        /// <param name="conn"></param>
        public void CreateTable(string createTableSQL,SQLiteConnection conn)
        {
            SQLiteCommand cmd = new SQLiteCommand();
            cmd.CommandText = createTableSQL;
            cmd.Connection = conn;
            cmd.ExecuteNonQuery();
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="insertSQL"></param>
        /// <param name="conn"></param>
        public void InsertIntoValue(string insertSQL , SQLiteConnection conn)
        {
            SQLiteCommand cmd = new SQLiteCommand();
            cmd.CommandText = insertSQL;
            cmd.Connection = conn;
            cmd.ExecuteNonQuery();
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="querySQL"></param>
        /// <param name="conn"></param>
        /// <returns></returns>
        public SQLiteDataReader GetTableValue(string querySQL, SQLiteConnection conn)
        {
            SQLiteCommand cmd = new SQLiteCommand();
            cmd.CommandText = querySQL;
            cmd.Connection = conn;
            SQLiteDataReader reader = cmd.ExecuteReader();
            return reader;
        }
    }
}
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SQLite;

namespace CSharpConnectionSQLLite
{
    class Program
    {
        private static SQLiteConnection conn = null;
        private static string sql = "CREATE TABLE test(username varchar(20),password varchar(20))";
        private static string insertintosql = "INSERT INTO test VALUES('myuser','mypassword')";
        private static string querySql = "SELECT * FROM test";

        static void Main(string[] args)
        {
            Dao dao = new Dao();
            try
            {
                conn = dao.GetConnection(args[0]);
                conn.Open();
                conn.CreateCommand();
                Console.WriteLine("Success");
                //dao.CreateTable(sql, conn);
                dao.InsertIntoValue(insertintosql,conn);
                SQLiteDataReader reader = dao.GetTableValue(querySql, conn);
                while(reader.Read())
                {
                    Console.Write(reader.GetString(0));
                    Console.Write("\t");
                    Console.WriteLine(reader.GetString(1));

                }
            }
            catch(Exception)
            {
                Console.WriteLine("Failed");
            }
            finally
            {
                dao.CloseConnection(conn);
            }
            Console.ReadKey();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值