Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C SQLite同时插入和选择_C#_Wpf_Sqlite - Fatal编程技术网

C# C SQLite同时插入和选择

C# C SQLite同时插入和选择,c#,wpf,sqlite,C#,Wpf,Sqlite,我正在用C和SQLite开发一个应用程序。我的问题是,我需要同时执行INSERT查询和SELECT查询。如果我解释得更详细,我的问题是 假设我的数据库名是myDB 我正在将一个1 MB的文本文件导入myDB。在处理此导入时,同一应用程序中使用相同连接和相同数据库文件的另一个窗口是否可以执行SELECT查询 谢谢你的帮助 好的,为什么需要选择?你会从insert中得到一些东西并放到另一个表中吗?或者程序需要像没有任何东西在运行一样运行 如果需要选择放入另一个表中,可以使用它: 按cod desc

我正在用C和SQLite开发一个应用程序。我的问题是,我需要同时执行INSERT查询和SELECT查询。如果我解释得更详细,我的问题是

假设我的数据库名是myDB

我正在将一个1 MB的文本文件导入myDB。在处理此导入时,同一应用程序中使用相同连接和相同数据库文件的另一个窗口是否可以执行SELECT查询


谢谢你的帮助

好的,为什么需要选择?你会从insert中得到一些东西并放到另一个表中吗?或者程序需要像没有任何东西在运行一样运行

如果需要选择放入另一个表中,可以使用它: 按cod desc limit 1从表顺序中选择*

或者,如果需要继续运行,则需要一个线程,例如:

onLoad()
{
Thread t = new Thread(new ThreadStart(t_trigger));
            t.Start();
}


private void t_trigger()
{
 table_insert(string d)
}

private delegate void delegate_table_insert(string d);

private void table_insert(string d)
        {
            if (InvokeRequired)
            {
                try
                {
                    Invoke(new delegate_table_insert(table_insert), d);
                }

                catch (Exception ex)
                {
                    //MessageBox.Show(ex.Message);
                }
            }
            else
            {
                try
                {
                    // here run the code
                }

                catch (Exception ex)
                {
                    //MessageBox.Show(ex.Message);
                }
            }

尽管这是可能的,但你最好以不同的方式组织它。一个廉价的解决方案是使用从该数据库中选择的内容填充数据库和视图,您只需执行一次,当您打开带有插入行的窗口时,您就可以将其插入数据库和另一个窗口的视图中。另一种解决方案是在每次操作后显示应用程序范围内更新的进度,并在几秒钟内更新另一个窗口,以减少更新频率。这是假设没有其他用户正在使用数据库。否则继续思考