一、关于SQLite

          SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中(如Android),可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至今已经有13个年头,SQLite也迎来了一个版本 SQLite 3已经发布。SQLite是一个由C语言写成的开源项目,零配置无需安装即可使用,支持2TB的数据库大小,代码简洁、实用、独立。官方网站为http://www.sqlite.org,您可以在这里找到该项目的源代码和文档。

         二、使用SQLite

         以C#为例,要使用SQLite,我们首先需要在项目中添加对System.Data.SQLite.dll的引用,该类库可以从这里下载下载。经典的ADO.Net模式走起!   

      

class SQLite
    {
            private string DataSource = "D:\\Students.db3";
            private SQLiteConnection Connection=new SQLiteConnection();
            private SQLiteCommand Command=new SQLiteCommand();


        public void Main()
        {
            //创建数据库
            SQLiteConnection.CreateFile(DataSource);
            //连接数据库
            Connection.ConnectionString = "Data Source=" + DataSource;
            Connection.Open();
            //创建数据表
            Command.CommandText = "CREATE TABLE Student(Name varchar(20),Age varchar(10),Sex varchar(20))";
            Command.Connection = Connection;
            Command.ExecuteNonQuery();
            //插入数据
            Command.CommandText = "INSERT INTO Student VALUES('张三','20','男')";//这是一种形式
            Command.ExecuteNonQuery();
            Command.CommandText = "INSERT INTO Student(Name,Age,Sex) VALUES(@Name,@Age,@Sex)";//这是另一种形式,配合下面的语句,形式更加优美
            SQLiteParameter[] Parameter = new SQLiteParameter[] 
                                   {
                                       new SQLiteParameter("@Name","张三"),
                                       new SQLiteParameter("@Age","20"),
                                       new SQLiteParameter("@Sex","男")
                                   };
            Command.Parameters.AddRange(Parameter);
            Command.ExecuteNonQuery();
            //读取数据
            StringBuilder S = new StringBuilder();
            Connection.Open();
            Command.Connection = Connection;
            Command.CommandText = "SECLECT * FROM Student";
            SQLiteDataReader Reader = Command.ExecuteReader();
            while (Reader.Read())
            {
                S.Append(
                    "[Name=" + Reader.GetValue(0).ToString() + ","
                    + "Age=" + Reader.GetValue(1).ToString() +","
                    +"Sex="+Reader.GetValue(2).ToString()+ "]");
                Console.WriteLine(S.ToString());
                S.Remove(0, S.Length);
            }
            Reader.Close();
            Reader.Dispose();
            Connection.Close();
        }


    }

Logo

更多推荐