首页 > 数据库 >Winform中在Program.cs中初始化的变量(Sqlite连接实例)等再Form1.cs中访问

Winform中在Program.cs中初始化的变量(Sqlite连接实例)等再Form1.cs中访问

时间:2023-03-03 16:37:00浏览次数:64  
标签:初始化 Sqlite Global Form1 sqlLiteHelper cs new

场景

部分场景下需要在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

相关文章

  • Winform中操作Sqlite数据增删改查、程序启动时执行创建表初始化操作
    场景Sqlite数据库SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不......
  • 软件工程日报九——SQLite的安装与配置
    安卓stuio的数据库连接需要SQLite,现在进行安装与配置一进官网下载sqlite—dll—win32—x86.zip和sqlite—tools—win32—x86.zip  二、在下载目录进行解压,出现以下......
  • SQLite的ROUND函数的坑和解决方案
    今天使用sqlite的round函数对数据进行四舍五入处理,但遇到了以下问题,如图所示: 为什么结果不一样,不得而知,但我找到了解决方案,同大家分享一下。首先在c#中创建自定义函数[......
  • UE4 Statistics统计工具
    UE4Statistics统计工具主要有2大块功能:(1)编辑器环境下:当前关卡中Texture、Primitive、StaticMeshLightInfo的统计信息,以及BuildLight时各物件花费的时间、内存消耗等统......
  • css实现正方体旋转
    <!--物品入库-待入库--><template>  <divclass="content">    <button@click="onImg">图片切换</button>    <divclass="cubeBox">  ......
  • PACS系统各个功能介绍--九五小庞
    PACS系统是HIS系统的重要组成部分,医生可在电脑上查看患者的医学影像报告。■支持心电DICOM,心电图浏览和处理(显示格式、纸速、增益、滤波、测量等)。■支持MPR、CPR、......
  • 医院PACS系统--九五小庞
    一、什么是PACS系统医学影像系统(PictureArchivingandCommunicationSystems,简称PACS)是应用在医院影像科室的系统,主要的任务就是把日常产生的各种医学影像(包括核磁,CT,超声,......
  • 一篇完整的 Scss 学习指南,看这篇就够啦
    作者:小猪努力学前端https://juejin.cn/post/7055101823442485255前言今时不同往日,能叫我们切图仔的只能是我们自己! 在JavasScrip框架满天飞的年代,前端三板斧之一的CS......
  • 使用 CSS 实现页面加载的淡入效果
    可以使用CSS过渡让文本段落在页面加载时淡入吗?我真的很喜欢它在http://dotmailapp.com/上的样子,并且很想使用CSS来使用类似的效果。该域名已被购买,不再具有提及的......
  • 如何使用 jQuery 更改 CSS display none 或 block 属性?
    如何使用jQuery更改CSSdisplaynone或block属性?解答http://www.stackoverflow.ink/posts/ru-he-shi-yong-jquery-geng-gai-css-display-none-huo-block-......