zoukankan      html  css  js  c++  java
  • linq连接sqlite数据库(linq to sqlite) .net3.5

    http://www.cnblogs.com/xianyin05/archive/2012/12/23/2829905.html

    using Models;
    using System;
    using System.Collections.Generic;
    using System.Data.SQLite;
    using System.Diagnostics;
    using System.Linq;
    using System.Text;
    
    namespace Demo2
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Program p = new Program();
                SqliteDataContext db = new SqliteDataContext(@"Data Source=MyDatabase.sqlite;Version=3;");  //创建连接
                //var str = db.highscores.Where(u=>u.score>3000).ToList();
                db.Log = Console.Out;
                var temp1 = db.GetTable<highscores>().ToList();
                
                var temp = db.GetTable<highscores>();
                var result = from n in temp select n;
                foreach (var item in result)
                {
                    Console.WriteLine(item.name);
                }
    
                Console.ReadKey();
            }
    
            //数据库连接
            SQLiteConnection m_dbConnection;
    
            public Program()
            {
                createNewDatabase();
                connectToDatabase();
                createTable();
                fillTable();
                printHighscores();
            }
    
            //创建一个空的数据库
            void createNewDatabase()
            {
                SQLiteConnection.CreateFile("MyDatabase.sqlite");
            }
    
            //创建一个连接到指定数据库
            void connectToDatabase()
            {
                m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
                m_dbConnection.Open();
            }
    
            //在指定数据库中创建一个table
            void createTable()
            {
                string sql = "create table highscores (name varchar(20), score int)";
                SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
                command.ExecuteNonQuery();
            }
    
            //插入一些数据
            void fillTable()
            {
                string sql = "insert into highscores (name, score) values ('Me', 3000)";
                SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
                command.ExecuteNonQuery();
    
                sql = "insert into highscores (name, score) values ('Myself', 6000)";
                command = new SQLiteCommand(sql, m_dbConnection);
                command.ExecuteNonQuery();
    
                sql = "insert into highscores (name, score) values ('And I', 9001)";
                command = new SQLiteCommand(sql, m_dbConnection);
                command.ExecuteNonQuery();
            }
    
            //使用sql查询语句,并显示结果
            void printHighscores()
            {
                string sql = "select * from highscores order by score desc";
                SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
                SQLiteDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    Console.WriteLine("Name: " + reader["name"] + "	Score: " + reader["score"]);
                }
                Console.ReadLine();
            }
        }
    }
    using Models;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Linq;
    using System.Data.Linq.Mapping;
    using System.Data.SQLite;
    using System.Linq;
    using System.Text;
    
    namespace Demo2
    {
        public class SqliteDataContext : DataContext
        {
            public SqliteDataContext(string connection, MappingSource mappingSource) :
                base(connection, mappingSource)
            {
            }
            public SqliteDataContext(IDbConnection connection, MappingSource mappingSource) :
                base(connection, mappingSource)
            {
            }
            public SqliteDataContext(string connectionString) :
                base(new SQLiteConnection(connectionString))
            {
            }
            public SqliteDataContext(IDbConnection connection) :
                base(connection)
            {
            }
    
            //public virtual DbSet<highscores> highscores { get; set; }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Data.Linq.Mapping;
    using System.Linq;
    using System.Text;
    
    namespace Models
    {
        [Table(Name = "highscores")]  //特性表示将highscores类与数据库中名称为highscores的表
        public class highscores
        {
            //[Column(IsPrimaryKey =true)]
            [Column]  //特性则对应数据库中的列
            public string name { get; set; }
    
            [Column]
            public int score { get; set; }
        }
    }
  • 相关阅读:
    centos7.3部署memcached服务
    tomcat一闪而过,无法开启
    Windows系统因“CredSSP加密Oracle修正”无法远程连接
    猴子和打字机
    特修斯之船
    爱因斯坦的光线
    10个著名的思想实验(2)
    10个著名的思想实验1
    快速排序
    快速排序的c++实现
  • 原文地址:https://www.cnblogs.com/genesis/p/7348479.html
Copyright © 2011-2022 走看看