SQL logic error no such table: Items - ошибка при работе с System.Data.SQLite
при выполнении программы возникает ошибка "SQL logic error no such table: Items" Код программы:
using System;
using System.Data.SQLite;
namespace HelloApp
{
class Program
{
static void Main(string[] args)
{
string sqlExpression = "SELECT * FROM Items";
using (var connection = new SQLiteConnection("Data Source=gds.db"))
{
connection.Open();
SQLiteCommand command = new SQLiteCommand(sqlExpression, connection);
using (SQLiteDataReader reader = command.ExecuteReader())
{
if (reader.HasRows)
{
while (reader.Read())
{
var id = reader.GetValue(0);
var name = reader.GetValue(1);
var cost = reader.GetValue(2);
Console.WriteLine($"{id} \t {name} \t {cost}");
}
}
}
}
Console.Read();
}
}
}
бд gds.db находится в файле с проектом, таблица Items создана,
Ответы (1 шт):
Автор решения: Ellenord
→ Ссылка
бд gds.db находится в файле с проектом, таблица Items создана
Файл базы данных будет смотреть в папке с исходниками, то-есть в папке bin. Есть два варианта решения этой проблемы:
- Поменять путь к базе данных на абсолютный:
using (var connection = new SQLiteConnection($"Data Source={AbsolutePathToDBFile}")), где AbsolutePathToDBFile - это строка в которой лежит абсолютный путь к файлу БД. - Использовать относительный путь из папки bin, скорее всего вот так:
using (var connection = new SQLiteConnection($"Data Source=./../../../gds.db"))