QQLite 插件开发 之 Sqlite 保存配置

本文分享了从使用MySql远程存储到采用SQLite进行本地数据存储的经验转变,详细介绍了在C#环境下如何利用QQLite库实现数据的读取与写入,包括数据库连接、查询、插入及更新操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       由于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();

转载于:https://my.oschina.net/hnxymjj/blog/717002

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值