场景
部分场景下需要在Winform启动时执行一些初始化的操作。
比如这里的执行创建Sqlte数据库和表的操作,为了操作数据库封装了工具类,
这个工具类实例怎样在其他页面比如Form1.cs中调用执行一些增删改查的操作。
注:
博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主
实现
1、封装单例的全局工具类,并添加初始化Sqlite数据库建表的方法
/**
* 全局属性类
*/
class Global
{
private SqLiteHelper _sqlLiteHelper;
private static string _lockFlag = "GlobalLock";
private static Global _instance;
//mqtt是否已经连接
public bool isMqttClientConnected = false;
private Global()
{
}
public static Global Instance
{
get
{
lock (_lockFlag)
{
if (_instance == null)
{
_instance = new Global();
}
return _instance;
}
}
}
public SqLiteHelper sqlLiteHelper
{
get { return _sqlLiteHelper; }
set { _sqlLiteHelper = value; }
}
public void InitPositionSqLite()
{
_sqlLiteHelper = new SqLiteHelper("data source=positions.db");
//创建名为positions的数据表
_sqlLiteHelper.CreateTable("positions", new string[] { "timestamp", "data" }, new string[] { "TEXT", "TEXT" });
}
}
2、在Program.cs中执行初始化数据库的操作方法
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//顺序勿动
//初始化positions数据库
Global.Instance.InitPositionSqLite();
Application.Run(new Form1());
}
}
一定要注意之类的放的位置,位于Application.Run(new Form1())的前面。
3、然后在Form1.cs中调用时
Global.Instance.sqlLiteHelper.InsertValues("positions", new string[] { currentTimeSpan, saveData });
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/135822.html