zoukankan      html  css  js  c++  java
  • Dapper C# 访问SQLite

    1.以操作SQLite为例.先下载Dapper,项目引用添加Dapper.dll,然后入下

    SQLiteConnectionStringBuilder sb = new SQLiteConnectionStringBuilder();
    sb.DataSource = @"D:sqlite.db";
    SQLiteConnection con = new SQLiteConnection(sb.ToString());
    con.Open();
    string sql = "select * from user";
    foreach( User u in con.Query<User>(sql))
    {
         Console.WriteLine(u.Name);
    }
    con.Close();

     参数查询:

     SQLiteConnectionStringBuilder sb = new SQLiteConnectionStringBuilder();
                sb.DataSource = @"D:\sqlite.s3db";
    
                SQLiteConnection con = new SQLiteConnection(sb.ToString());
                con.Open();
    
                var data = con.Query("select * from t_session where appkey=@appkey", new
                 {
                     appkey = appKey
                 });
    
                con.Close();

     添加:

      con.Execute(" insert into t_session(appkey,appsecret,updatetime)values(@appkey,@appsecret,@updatetime)"
                        , new
                        {
                            appkey = appKey,
                            appsecret = appSecret,
                            updatetime = DateTime.Now
                        });

    更新:

    //更新
    con.Execute("update t_session set appsecret=@appsecret where appKey=@appKey ",
                        new
                        {
                            appKey = appKey,
                            appsecret = appSecret
                        });

    今天学习用Sqlite结果总出错:no such table: MyFriendInfo

    翻译一下就是:没有找到MyFriendInfo表。

    怎么会这样呢?在数据库里面明明有表的。

    调试和查看原文件各级目录发现:

    当Sqlite找不到相关的表的时候会自动创建。这下可明白了。问题出在路径上。

    我在App.Config文件中是这样写的

    Xml代码  收藏代码
    1. <appSettings>  
    2.         <add key="SqlConfiguration" value="Data Source= |DataDirectory|MyFriendList.sqlite; Integrated Security='True'"/>  
    3. </appSettings>  

    |DataDirectory| 的作用是定位到App_Data文件夹下面,源程序则是生成在inDebug目录下面,结果在Debug目录下面发现了Sqlite自动生成的数据库。这下明白了。不过在做WINFORM程序的时候如果还要安装,那数据库路径在Config文件中是不能写死的。放在Debug目录下面应该是一个解决办法吧。

    如果是WEB应用程序这个问题就好解决了。

  • 相关阅读:
    学习flying logic
    7-47 两数之和 (30 分)
    7-44 jmu-python-区间数之和 (10 分)
    7-45 jmu-python-涨工资 (10 分)
    7-42 jmu-python-找字符 (15 分)
    7-43 jmu-python-字符串异常处理 (20 分)
    7-40 jmu-python-统计成绩 (15 分)
    7-41 jmu-python-最佳身高 (10 分)
    7-35 jmu-python-求三角形面积及周长 (10 分)
    7-36 jmu-python-统计字符个数 (10 分)
  • 原文地址:https://www.cnblogs.com/bqh10086/p/4333359.html
Copyright © 2011-2022 走看看