#c# #database #sqlite
#c# #База данных #sqlite ( код ) #sqlite
Вопрос:
В настоящее время у меня есть база данных под названием «testDB.db», которая содержит 100 строк и 3 столбца. Есть ли какая-нибудь библиотека в C #, которая позволяет мне легко проверить, сколько столбцов и строк содержится в таблице «test001» в «testDB.db»?
namespace SQLiteExtractor
{
class Program
{
static void Main()
{
string liteString = @"Data Source = .testDB.db";
connectToSQLite(liteString);
}
public static void connectToSQLite(string liteConString)
{
using SQLiteConnection liteCon = new SQLiteConnection(liteConString);
liteCon.Open();
string query = "SELECT * FROM test001";
int sizeOfDR = 0;
List<string> liteEntries = new List<string>();
using var cmd = new SQLiteCommand(query, liteCon);
using SQLiteDataReader SQLiteDR = cmd.ExecuteReader();
while (SQLiteDR.Read())
{
liteEntries.Add(SQLiteDR.GetString(1));
}
foreach (string entry in liteEntries)
Console.WriteLine(entry);
}
}
}
Комментарии:
1. Здравствуйте и добро пожаловать! Вы можете получить количество строк, выполнив select count(*) на стороне базы данных.
2. Для строк вы можете сделать
SELECT COUNT()
, для столбцов вы можете проверить метаданные таблицы с помощью запросов к системной таблице, я думаю? Похоже,PRAGMA table_info(table_name);
это может сработать.3. Да, информация о таблице pragma будет работать, смотрите это для получения дополнительной информации: sqlite.org/pragma.html#pragma_table_info
4. Я вижу, что pragma работает, но как мне сохранить результаты этих SQL-запросов в виде переменных C #?
Ответ №1:
Для строк вы можете выполнить SELECT COUNT()
запрос к таблице.
Для cols вы можете проверить метаданные таблицы с помощью запросов к системной таблице. Используйте PRAGMA table_info(table_name);
для получения информации о кол-ве.
Специфичный для вашей таблицы:
SELECT COUNT(*) FROM test001
и
PRAGMA table_info('test001')
Комментарии:
1. Большое спасибо за ответ! Знаете ли вы, как я бы сохранил эту информацию в виде переменных в своей программе на C #?
2. @slam505 это должен быть другой вопрос. Или, возможно, поиск вопроса по тем строкам, на которые уже был дан ответ!
3. понял, спасибо. Вы случайно не знаете, как я мог бы подсчитать количество столбцов в этом операторе PRAGMA? Я попытался ВЫБРАТЬ COUNT(*) Из PRAGMA table_info(‘test001’), однако это просто приводит к ошибкам.