加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

QQLite 插件开发 之 Sqlite 保存配置

发布时间:2020-12-12 19:29:13 所属栏目:百科 来源:网络整理
导读:由于C#是半路出家,对QQLite 的开发更是零基础,只有官方文档可以参考。刚开始的时候 存储没有考虑便利性,都是使用 MySql 保存在服务端,因为要求用户安装插件的同时在本地安装mysql 数据库不太现实。但是这种做法明显是不合理的。 后来做一个简单的插件的

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读