Ошибка Sqlite в базе данных
У меня есть Winform и база данных SQLite, я установил NuGet SQLite и ссылку на SQLite. Я получаю эту ошибку
An unhandled exception of type 'Finisar.SQLite.SQLiteException' occurred in SQLite.NET.dll Additional information: no such table: VacTable
Я могу видеть базу данных, когда тестирую свой запрос в Редакторе запросов SQLite.
Это мое первое приложение SQLite.
код:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Vacation_Time_3._3 { public partial class Form1 : MaterialSkin.Controls.MaterialForm { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string sql = "Select * from VacTable"; DataAccess.ExecuteSQL(sql); DataTable dt = DataAccess.GetDataTable(sql); gridControl1.DataSource = dt; } } }
Класс:
<pre>using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.Common; using System.Data.SqlClient; using Finisar.SQLite; //using System.Data.SQLite; namespace Vacation_Time_3._3 { //////SQLite Edition class DataAccess { // Connection String for SQlite Edition static string _ConnectionString = @"Data Source=VacDB;Version=3;New=False;Compress=True"; //Data Source=DemoT.db;Version=3;New=False;Compress=True; // Use for ..exe.config file // static string _ConnectionString = Sqtlie_project_tutorial.Properties.Settings.Default.SqliteDBtestConnectionString1; static SQLiteConnection _Connection = null; public static SQLiteConnection Connection { get { if (_Connection == null) { _Connection = new SQLiteConnection(_ConnectionString); _Connection.Open(); return _Connection; } else if (_Connection.State != System.Data.ConnectionState.Open) { _Connection.Open(); return _Connection; } else { return _Connection; } } } public static DataSet GetDataSet(string sql) { SQLiteCommand cmd = new SQLiteCommand(sql, Connection); SQLiteDataAdapter adp = new SQLiteDataAdapter(cmd); DataSet ds = new DataSet(); adp.Fill(ds); Connection.Close(); return ds; } public static DataTable GetDataTable(string sql) { Console.WriteLine(sql); DataSet ds = GetDataSet(sql); if (ds.Tables.Count > 0) return ds.Tables[0]; return null; } public static int ExecuteSQL(string sql) { SQLiteCommand cmd = new SQLiteCommand(sql, Connection); return cmd.ExecuteNonQuery(); } } }
Изображение запроса
[IMG]http://i64.tinypic.com/1567er7.jpg[/IMG]
[^]
Что я уже пробовал:
Часы исследований, я могу видеть базу данных, когда я тестирую свой запрос в Редакторе запросов SQLite.
Afzaal Ahmad Zeeshan
Но ошибка говорит, что "Вактабельный" не найден. Можете ли вы проверить, к какой базе данных вы пытаетесь подключиться, и это та же самая база данных, которую вы используете в запросе?
Richard MacCutchan
Посмотрите еще раз на сообщение об ошибке. Он говорит вам, что база данных не содержит таблицы под названием "VacTable". Используйте командную строку sqlite3 shell для проверки базы данных.