Windows下C#连接和操作SQLite数据库_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Windows下C#连接和操作SQLite数据库

Windows下C#连接和操作SQLite数据库

 2011/12/29 17:29:33  woniu1983  http://woniu1983.iteye.com  我要评论(0)
  • 摘要:本文仅用于简单说明C#连接和访问SQLite数据库的一些操作,不含其他诸如原理性、解释性的说明。主要用于自己及其他新入人员初学时配置1.环境准备SQLite:SQLiteOfficial根据自己需要下载不同系统的物品。比如我下的就是WindowsOS下预编译的exe、Dll.GUITool:SQLiteExpertPersonalEdition个人版是Free的Wrapper:System.Data.SQLite完全支持.Net2.0,几乎能完全支持.Net3.5
  • 标签:Windows C# windows下 数据库 数据 连接 SQL 操作
本文仅用于简单说明C#连接和访问SQLite数据库的一些操作,不含其他诸如原理性、解释性的说明。主要用于自己及其他新入人员初学时配置

1. 环境准备
SQLite: SQLite Official
                 根据自己需要下载不同系统的物品。比如我下的就是WindowsOS下预编译的exe、Dll.

GUI Tool: SQLite Expert Personal Edition 个人版是Free的

Wrapper:System.Data.SQLite
                  完全支持.Net2.0, 几乎能完全支持.Net 3.5。这个DLL已经包装了sqlite3.dll。

2. 使用SQLite Expert Personal Edition创建数据库和表格
   当安装完毕SQLite Expert Personal Edition这个GUI工具之后,双击打开,创建数据库和表格,比较简单,你可以参考官网上的操作参考视频

3. C# 建立一个普通的Console工程
   在该工程上引入System.Data.SQLite.DLL(即wrapper),无需引入SQLite3.dll,因为前者已经包装了后者。
    在代码中import下: "using System.Data.SQLite;"

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

namespace TestSQLite
{
    class MyCSharpSQLite
    {
        private static string connStr;

        static void Main(string[] args)
        {

           connStr = SQLiteConnectionString.GetConnectionString(".\\Data\\EasyDataBase.db");
           Console.WriteLine("SQLite Connect String is : {0}", connStr);

           //连接测试
           //testConnect(connStr);

           //执行查询
           ExecQuery("select * from customers");
           
           Console.ReadKey();
        }       

        private static void testConnect(string connStr) 
        {
            try
           {
               SQLiteConnection conn = new SQLiteConnection(connStr);

               conn.Open();
               Console.WriteLine("SQLite Connect OK.");
           }
           catch (Exception ex)
           {
               Console.WriteLine("SQLite Connect fail: {0} ", ex.Message);
           }
        }

        private static void ExecQuery(string sqlStr)
         {
             Console.WriteLine(">> Start to query the database....");
             using (SQLiteConnection conn = new SQLiteConnection(connStr))
             {
                 conn.Open();
                 SQLiteCommand comm = conn.CreateCommand();
                 comm.CommandText = sqlStr;
                 //comm.CommandType = comm.CommandText;

                 using (SQLiteDataReader reader = comm.ExecuteReader())
                 {
                     while (reader.Read())
                     {
                         Console.WriteLine(reader[1].ToString());
                     }
                 }
             }
         }


    }

    /// <summary>

    /// 生成SQLite连接字符串

    /// </summary>

    public static class SQLiteConnectionString
    {

        public static string GetConnectionString(string path)
        {
              return GetConnectionString(path, null);
        }

        public static string GetConnectionString(string path, string password)
        {
            if (string.IsNullOrEmpty(password))
            {
                return "Data Source=" + path;
            }
            else
            {
                return "Data Source=" + path + ";Password=" + password;
            }
        }

     }
}



先说到这里,后续再补充其他。
发表评论
用户名: 匿名