在数据库中每隔一段时间插入visual c++程序/项目中的值



我想创建一个可视化的c++程序,该程序会以特定的间隔自动在数据库中插入一些随机值和当前系统日期时间。为此,我将使用srand()函数。我不知道该怎么做。我能够使用winForm项目实现这一点,并使用任务调度器将其安排为每30分钟运行一次,但问题是,每次弹出一个空表单时,直到我关闭它,否则都不会输入值。我需要的是,所有这些都是自己发生的,窗户不应该空着弹出。winform是实现这一目标的正确方法吗?如果不是,那么我应该选择什么样的项目。也许定时器,线程。。。请澄清一下,因为我对此还比较陌生。

问候

PS:这是代码

 String^ constring = L"datasource=localhost;port=3306;username=root;password=root";
 MySqlConnection^ conDataBase = gcnew MySqlConnection(constring);
 MySqlCommand^ cmdDataBase = gcnew MySqlCommand("INSERT INTO `data`.`test` (`datetime`,`temp`,`pressure`) VALUES ('"+dt+"','"+rand_temp+"','"+rand_pressure+"');",conDataBase);  MySqlDataReader^ myReader;

try{
         conDataBase->Open();
         myReader = cmdDataBase->ExecuteReader();
        //MessageBox::Show("Data Inserted");
         while(myReader->Read()){

     }
    }catch(Exception^ex){
     MessageBox::Show(ex->Message);
 }

Application::Exit();

上面的代码在我的formload方法

使用控制台应用程序项目而不是winforms项目

您应该将代码放在"Main"方法中,而不是放在Form的构造函数中。您根本不需要Form。。。此外,我不建议使用控制台应用程序,因为这将弹出控制台窗口。。。

请分享您的代码以获得更深入的见解。

程序正在向数据库写入值,但在关闭连接/进行手动提交之前,数据库不会更新(A.K.A提交)。请再次分享您的代码。如果你不需要表单,我建议你不要使用winforms。你可以使用各种不同的方式来实现数据库更新。例如,您可以使用sleep,这样线程就会偶尔工作一次(取决于您在sleep方法上给了他多少)。

无论如何,给我们更多的信息,这样我们可以帮助你

编辑

在CCD_ 2使用CCD_。把你所有的代码都放到主函数上,而不是创建表单。你似乎根本不需要表单,对吧?

如果你需要(阅读此处)了解更多信息或搜索谷歌,请使用睡眠方法等待一段时间。还有什么吗?

相关内容

最新更新