Я пытаюсь начать работу с sqlite + C#. Я узнал, что SQLite-lib не является стандартным lib, поэтому я добавил его для каждой ссылки.Обтекание SQLiteConnection с помощью специального класса DBConnection
Поскольку я чаще использую этот класс, я думал о создании собственного класса, который заботится обо всем.
Прямо сейчас, это мой DB-класс:
class DBConnection
{
public SQLiteConnection m_dbConnection;
public DBConnection()
{
Open();
}
private void Open()
{
m_dbConnection = new SQLiteConnection("Data Source=Diary.sqlite;Version=3;");
m_dbConnection.Open();
}
public void Close()
{
m_dbConnection.Close();
}
}
Теперь, в другом Form
, я пытаюсь получить доступ к нему:
private void FrmLogin_Load(object sender, EventArgs e)
{
DBConnection DBConnection = new DBConnection();
string sql = "SHOW TABLES";
SQLiteCommand command = new SQLiteCommand(sql, DBConnection);
SQLiteDataReader reader = command.ExecuteReader();
Console.WriteLine(reader);
}
Это, однако, заканчивается в следующей ошибке :
Error CS1503 Argument 2: cannot convert from 'FFR2.DBConnection' to 'System.Data.SQLite.SQLiteConnection'
Я пытался в моем DBConnection класса наследовать SQLiteConnection с этим:
class DBConnection : SQLiteConnection
, но это было неправильно. Я хотел бы иметь класс, который автоматически открывает БД, закрывает мой вызов и делает команды по требованию, как показано в примере.
Спасибо за любые советы
Я создал проект C#/SQLite/NHiberate Web Forms, чтобы решить проблемы с подключением. У меня есть этот завершенный проект по Github по этой ссылке, который делает то, что вы просите. Добавленный элемент ORM/NHibernate https://github.com/RegencySoftware/SQLite-NHibernate-CSharp-Demo –