使用c#迭代从SQLite表列中提取所有数据
本文关键字:提取 数据 迭代 SQLite 使用 | 更新日期: 2023-09-27 17:53:23
我使用stringbuilder编写了一个SQL查询,并使用SqlteDataReader
将其发送到数据库,如下所示:
string criteria = String.Format("SELECT tile_id FROM {0} WHERE zoom_level = 14", dbTable);
SQLiteCommand command = new SQLiteCommand(criteria, dbConn);
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("Starting reader: 'n");
foreach (var i in reader)
{
Console.WriteLine(i);
}
}
isMet = true;
}
catch (Exception E )
{
Console.Write(E.StackTrace);
}
dbTable
== map
。我已经通过SQLite浏览器运行了上面的SQL查询,并且它提取了正确的信息。
返回值总是System.Data.Common.DataRecordInternal
,经过一些谷歌搜索,我仍然有点失落。我发现了很多解决方案,实现了解决问题的DataReader
,但我已经在使用一个。
tile_id
在SQLite中存储为TEXT
,到目前为止,我试图检索它格式化为string
, var
和int
,所有这些都返回了上述值。
谁能给点建议?
您不需要foreach
循环。您应该将阅读器读取代码更改为
Console.WriteLine("Starting reader: 'n");
while (reader.Read())
{
Console.WriteLine(reader["tile_id"].ToString());
}
参见使用DataReader检索数据。查看更多信息。
reader.Read()
已经移动到下一个记录(如果有)。所以使用:
while (reader.Read())
{
Console.WriteLine("Starting reader: 'n");
Console.WriteLine(reader.GetString(0));
}