SQLiteConnection 文字列の最も基本的な形式は、"data source = ..." です。
MyData.sdb という名前の SQLite データベース ファイルがあるデモを試してみました。このファイルはデモ プロジェクトのフォルダー ツリー (例: DemoProject\MyData.sdb) に配置されていました。そして、次の SQLiteConnection 文字列が機能しました。
"data source = MyData.sdb"
テーブルを選択できました。デモ プロジェクト フォルダー (DemoProject\Data\MyData.sdb など) の別の子フォルダーに MyData.sdb を追加しようとしても、上記の接続文字列は機能しますか? うわー、信じられない。しかし、今最も奇妙なことです(デモプロジェクトで経験したこととは対照的です):
別のプロジェクトを試して同じものを適用すると、SQLite データベースに存在するテーブルを選択しようとすると、「そのようなテーブルはありません...」という例外がスローされました。とても奇妙です。データベースファイルへのパスが間違っているのではないかと疑っています。そして、次のようにデータベースファイルの絶対パスを使用してみました:
"data source = D:\\demo project\\MyData.sdb"
その後、うまくいきました。デモ プロジェクトで SQLite データベース ファイルに相対パスを使用したのに、新しいプロジェクトでは適用できないのはなぜですか?
簡単ではないと思います。説明するにはあなたの経験が必要です。奇妙なことは、デモプロジェクトまたは私の新しいプロジェクトにある可能性があり、異常に機能したプロジェクトがあるはずです。
助けてください!ありがとうございました!