gpt4 book ai didi

c# - SQLite C# 简单数据库查找

转载 作者:搜寻专家 更新时间:2023-10-30 21:42:48 25 4
gpt4 key购买 nike

我已经从我的程序中将大量信息插入到 SQlite 数据库中。现在,我的小任务是查找数据库并从中找到一些统计数据。

例如:我有一个包含三个字段的数据库 - 时间戳、消息和 key 现在,我想检查 Message 列中的数据库并计算数据库中某个关键字(比如“ERROR”)出现的次数。

最简单的方法是什么?从数据库中选择消息以及如何添加过滤器???

我使用正则表达式在插入之前过滤掉一些东西。我应该在这里做类似的事情吗?

谢谢

编辑:

我使用了下面提到的解决方案 SELECT count(*) 但我仍然不知道如何获取值以在另一个函数中使用它。我已经展示了我在下面使用的代码。我是 SQL 的新手,它可能是错误的。请帮忙!

public void selectFromDatabase()
{
String cntnStr_query = "data source=C:\\TMU_Files\\test31.s3db";
SQLiteConnection connection_query = new SQLiteConnection(cntnStr_query);
connection_query.Open();
SQLiteCommand cmd_query = connection_query.CreateCommand();
cmd_query.CommandText = "SELECT count(*) from LogDatabase where LogMessage like '%ERR%'";
SQLiteDataAdapter da_query = new SQLiteDataAdapter(cmd_query);
DataSet ds_query = new DataSet();
//MessageBox.Show(cmd_query.ExecuteNonQuery().ToString());
//MessageBox.Show(count.ToString());
try
{
da_query.Fill(ds_query);
DataTable dt_query = ds_query.Tables[0];
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
finally
{
cmd_query.Dispose();
connection_query.Close();
}
//cmd_query.Dispose();
//connection_query.Close();

}
}

最佳答案

select count(*) from database where message like '%error%'

至于它在代码中应该是什么样子,试试这样的:

using(var sda=new SQLiteDataAdapter(
"SELECT count(*) from LogDatabase where LogMessage like '%ERR%'",
"data source=C:\\TMU_Files\\test31.s3db")
{
var dt=new DataTable();
sda.Fill(dt);
return dt;
}

关于c# - SQLite C# 简单数据库查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6297575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com