C# で (Data.SQLite を使用して) Sqlite のヘルパー クラスを作成し、GetTables、GetColumnNames などのメソッドを配置しています
データベースをアタッチするメソッド AttachDatabase を追加しましたが、機能していないようです。
このメソッドのコードは次のとおりです。
public void AttachDatabase(string path)
{
string db_name = "attdb";
sqlConnection.Open();
SQLiteCommand scom = new SQLiteCommand(sqlConnection);
scom.CommandText = "ATTACH '"+path+"' AS " + db_name;
scom.ExecuteNonQuery();
sqlConnection.Close();
}
データベース ファイルへのパスを指定すると、このメソッドは例外をスローしません。
そしてそれをテストするために、このようなヘルパークラスに別のメソッドを追加しました
public List<string> GetAllDatabases()
{
List<string> mylist = new List<string>();
sqlConnection.Open();
SQLiteCommand scom = new SQLiteCommand("PRAGMA database_list", sqlConnection);
SQLiteDataReader sreader = scom.ExecuteReader();
while (sreader.Read())
{
string name = (sreader.GetValue(1)).ToString();
mylist.Add(name);
}
sqlConnection.Close();
return mylist;
}
データベースをアタッチした後、このメソッドはメイン テーブルのみを含むリストを返します。
私は何を間違っていますか?