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应用程序这个问题就好解决了。

  • 相关阅读:
    转:【译】CSS3:clip-path详解
    转---JS 一定要放在 Body 的最底部么?聊聊浏览器的渲染机制
    转---30 分钟学会 Flex 布局
    转---单页面应用下的JS内存管理
    转---移动端 h5开发相关内容总结——CSS篇
    转---谈谈HTTP协议中的短轮询、长轮询、长连接和短连接
    转---写一个网页进度loading
    转---内存空间详细图解
    转---前端跨域请求原理及实践
    简单记录常用git 命令
  • 原文地址:https://www.cnblogs.com/bqh10086/p/4333359.html
Copyright © 2011-2022 走看看