• C#使用SQLite数据库(asp.net/winform)


    SQLite 是目前比较流行的一个开源、免费的小型的Embeddable RDBMS(关系型数据库),用C实现,内存占用较小,支持绝大数的SQL92标准,个别不支持的情况,在这里说明

    对各种语言的支持也比较不错,wrapper很多。

    Google Gears 、Mozilla 和 Adobe AIR 都在使用sqlite,应该说明其还是很不错的

    SQLite 的关键字列表,这里

    支持的sql语法,在这里


    .NET 里面使用 SQLite, 我这里使用的wrapper是 System.Data.SQLite,它只需要一个dll,接口符合ADO.Net 2.0的定义,性能也不错,NHibernate用的也是它,目前支持ADO.NET 3.5了,支持集成在 VS2005 和 VS2008里面,而且支持wince,是个亮点

    因为符合ADO.NET的规范,所以使用方式,基本和 SqlClient, OleDb等原生的一致

    using System.Data;
    using System.Data.SQLite;
    //...
    
    using (SQLiteConnection cn = new SQLiteConnection(
        "Data Source=Test.db3;Pooling=true;FailIfMissing=false")
        )
    {
        //在打开数据库时,会判断数据库是否存在,如果不存在,则在当前目录下创建一个
        cn.Open();
    
        using (SQLiteCommand cmd = new SQLiteCommand())
        {
            cmd.Connection = cn;
    
            //建立表,如果表已经存在,则报错
            cmd.CommandText = "CREATE TABLE [test] (id int, name nvarchar(20))";
            cmd.ExecuteNonQuery();
    
            //插入测试数据
            for (int i = 2; i < 5; i++)
            {
                cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, '中文测试')", i);
                cmd.ExecuteNonQuery();
            }
    
            for (int i = 5; i < 10; i++)
            {
                cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, 'English Test')", i);
                cmd.ExecuteNonQuery();
            }
    
            //读取数据
            cmd.CommandText = "SELECT * FROM [test]";
            using (SQLiteDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
            {
                while (dr.Read())
                {
                    Console.WriteLine("第{0} 条:{1}", dr.GetValue(0), dr.GetString(1));
                }
            }
        }
    }
  • 相关阅读:
    multiprocessing.Pool报pickling error
    Python 数据库的Connection、Cursor两大对象
    python中的tcp示例详解
    Python网络编程篇之select和epoll
    python select epoll poll的解析
    python网络编程——IO多路复用之epoll
    python实现并发服务器实现方式(多线程/多进程/select/epoll)
    python select模块
    CRM客户关系管理系统(七)
    CRM客户关系管理系统(六)
  • 原文地址:https://www.cnblogs.com/mimi001/p/1671497.html
Copyright © 2020-2023  润新知