• 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; }
        }
    }
  • 相关阅读:
    c++11 可变参数模板类
    c++11 可变参数模板函数
    c++11 函数模板的默认模板参数
    c++11 模板的别名
    超声波模块SRF05
    Eclipse中快捷键的使用
    移动互联网教育领域或将出现新的风口?
    java Date 和 javascript Date
    linux下安装node.js
    J2EE之初识JSP
  • 原文地址:https://www.cnblogs.com/genesis/p/7348479.html
Copyright © 2020-2023  润新知