В настоящее время у меня есть фрагмент кода, который отображает таблицу в DataGridView
using (SQLiteConnection con = new SQLiteConnection(DBC.connectionstring))
{
con.Open();
SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT * FROM Income", con);
DataSet ds = new System.Data.DataSet();
da.Fill(ds, "Info");
IncomeData.DataSource = ds.Tables[0];
}
Однако, потому что мне придется многократно повторять код. Я решил создать новый класс, позволяющий мне это сделать. Как показано ниже:
public void DBLoad(string tableName, DataGridView DGVname)
{
DBC = new DatabaseConnection();
DBC.getConnection() // connects to .db file
using (SQLiteConnection con = new SQLiteConnection(DBC.connectionstring))
{
con.Open();
SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT * FROM '" + tableName + '"', con);
System.Data.DataSet ds = new System.Data.DataSet();
da.Fill(ds, "Info");
DGVname.DataSource = ds.Tables[0];
}
}
Но проблема, с которой я столкнулся, заключается в том, что tableName
будет в запросе SQL, и я продолжаю сталкиваться с проблемой необходимости удаления кавычек.
Если я сделаю это:
className.DBLoad("Income", IncomeData);
Тогда возникает следующая ошибка:
System.Data.SQLite.SQLiteException: 'Ошибка логики SQL: нераспознанный токен: "' Income" "'
Я пытался сделать:
tableName = tableName.Replace("\"", string.Empty);
Но я все еще получаю ту же ошибку. Так что теперь я не знаю, что делать.