QQLite 插件开发 之 Sqlite 保存配置

QQLite 插件开发 之 Sqlite 保存配置,第1张

概述       由于C#是半路出家,对QQLite 的开发更是零基础,只有官方文档可以参考。刚开始的时候 存储没有考虑便利性,都是使用 MySql 保存在服务端,因为要求用户安装插件的同时在本地安装mysql 数据库不太现实。但是这种做法明显是不合理的。        后来做一个简单的插件的时候,就采用sqlite 来存储在本地,也最终实现成功       主要步骤:       (1)引用QQLi

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

总结

以上是内存溢出为你收集整理的QQLite 插件开发 之 Sqlite 保存配置全部内容,希望文章能够帮你解决QQLite 插件开发 之 Sqlite 保存配置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1166132.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存