文档章节

QQLite 插件开发 之 Sqlite 保存配置

to_be_better
 to_be_better
发布于 2016/07/24 17:42
字数 324
阅读 176
收藏 0

       由于C#是半路出家,对QQLite 的开发更是零基础,只有官方文档可以参考。刚开始的时候 存储没有考虑便利性,都是使用 MySql 保存在服务端,因为要求用户安装插件的同时在本地安装mysql 数据库不太现实。但是这种做法明显是不合理的。

       后来做一个简单的插件的时候,就采用sqlite 来存储在本地,也最终实现成功

      主要步骤:

      (1)引用QQLite下面的Library 目录下的System.data.Sqlite  

     (2)

SQLiteConnection m_dbConnection;
            string db_name = "./QQ/" + this.robot_qq + "/DataBase/zhongmeng_speak_controller_part.db";
            bool db_file_exist = File.Exists(db_name);

            m_dbConnection = new SQLiteConnection("Data Source=" + db_name + ";Version=3;");
            m_dbConnection.Open();
            string extend_id = label_extend_id.Text.ToString();
            string select_cluster_cfg = "select * from cluster_speak_period where cluster_id=" + extend_id + ";";
            plugin.OnLog("select_cluster_cfg:" + select_cluster_cfg);
            SQLiteCommand commond_select = new SQLiteCommand(select_cluster_cfg, m_dbConnection);
            SQLiteDataReader reader = commond_select.ExecuteReader();

            string record_cluster_id = "";
            string record_cluster_name = "";
            string record_period1 = "";
            string record_period2 = "";
            string record_period3 = "";
            string record_period4 = "";
            while (reader.Read())
            {
                record_cluster_id = reader["cluster_id"].ToString();
                record_cluster_name = reader["cluster_name"].ToString();
                record_period1 = reader["period_1"].ToString();
                record_period2 = reader["period_2"].ToString();
                record_period3 = reader["period_3"].ToString();
                record_period4 = reader["period_4"].ToString();
            }
            if (record_cluster_id == "")
            {  //不存在 插入记录
                string insert_cluster_cfg = "insert into cluster_speak_period(cluster_id,cluster_name,period_1,period_2,period_3,period_4)" +
                    "values(" + extend_id + ",\"" + label_cluster_name.Text + "\",\"" + period1 + "\",\"" + period2 + "\",\"" + period3 + "\",\"" + period4 + "\");";
                plugin.OnLog("insert_cluster_cfg:" + insert_cluster_cfg);
                SQLiteCommand insert_cluster_cfg_commond = new SQLiteCommand(insert_cluster_cfg, m_dbConnection);
                insert_cluster_cfg_commond.ExecuteNonQuery();
            }
            else {
                string update_cluster_cfg = "update cluster_speak_period set period_1=\"" + period1 + "\",period_2=\"" +
                    period2 + "\",period_3=\"" + period3 + "\",period_4=\"" + period4 + "\" where cluster_id= " + extend_id + ";";
                plugin.OnLog("update_cluster_cfg:" + update_cluster_cfg);
                SQLiteCommand update_cluster_cfg_commond = new SQLiteCommand(update_cluster_cfg, m_dbConnection);
                update_cluster_cfg_commond.ExecuteNonQuery();
            }
            m_dbConnection.Close();

© 著作权归作者所有

共有 人打赏支持
to_be_better

to_be_better

粉丝 7
博文 64
码字总数 41884
作品 0
郑州
程序员
私信 提问
VS2015配置使用Sqlite以及EF6框架

项目中需要使用到Sqlite本地数据库保存数据,以防止离线情况下设备的正常使用。 一、下载vs2015下的sqlite插件,并安装 插件下载页面:http://system.data.sqlite.org/index.html/doc/trunk/...

笑丶笑
2018/09/25
0
0
引入 SQLite 数据库在 Rational Functional Tester 中轻松读取测试数据

目前,越来越多的人选择使用 Rational Functional Tester(RFT) 来实现产品的自动化测试。通常情况下,测试数据会存放在数据池中,或者以文本形式存放在外部的文件里(比如资源文件或 XML 文件...

IBMdW
2011/08/01
788
0
iOS学习之sqlite的创建数据库,表,插入查看数据

iOS sqlite数据库操作。步骤是: 先加入sqlite开发库libsqlite3.dylib, 新建或打开数据库, 创建数据表, 插入数据, 查询数据并打印 1、新建项目sqliteDemo,添加使用sqlite的库libsqlite3....

知行合一100
2012/06/29
0
0
SqlCeToolbox.4.1.0-preview2 发布

SqlCe35Toolbox 是 Visual Studio 的 SQL Server Compact/SQLite Toolbox 插件,这些插件能帮助你的 SQL Server Compact 开发更高效:数据和表脚本,从 SQL Server 和 CSV 导入数据等等。 Sq...

oschina
2014/09/29
939
3
XamarinSQLite教程创建数据库

XamarinSQLite教程创建数据库 安装SQLite/SQL Server Compact Toolbox后,就可以使用该插件创建数据库了。操作步骤如下: (1)在Visual Studio中,单击“工具” SQLite/SQL Server Compact ...

大学霸
2018/07/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
2
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
1
0
cocoapods 用法

cocoapods install pod install 更新本地已经install的仓库 更新所有的仓库 pod update --verbose --no-repo-update 更新制定的仓库 pod update ** --verbose --no-repo-update...

HOrange
今天
3
0
linux下socket编程实现一个服务器连接多个客户端

使用socekt通信一般步骤 1)服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。 2)客户端:socker()建立套接字,连接(connect)服务器,连接上后...

shzwork
昨天
3
0
android自定义viewgroup画背景

设计部要求背景实现一个背景边框带圆弧的效果: 所以想着用自定义控件画一个背景。 为了方便,继承的是LinearLayout,在onMeasure中先获取控件宽高: @Overrideprotected void onMeasure(in...

醉雨
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部