场景
部分场景下需要在Winform启动时执行一些初始化的操作。
比如这里的执行创建Sqlte数据库和表的操作,为了操作数据库封装了工具类,
这个工具类实例怎样在其他页面比如Form1.cs中调用执行一些增删改查的操作。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
实现
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 });标签:初始化,Sqlite,Global,Form1,sqlLiteHelper,cs,new From: https://www.cnblogs.com/badaoliumangqizhi/p/17176113.html