0

データベース テーブルに 1 つのテキスト データを挿入するために、次の C# コードを記述します。

SQLiteConnection con = new SQLiteConnection("Data Source=tDB1.sqlite;Version=3;");
string q1 = "INSERT INTO tMembers(mName) VALUES(?)";

SQLiteCommand cmd1 = new SQLiteCommand(q1, con);
cmd1.Parameters.AddWithValue("@mName", txtName.Text);

con.Open(); 
cmd1.ExecuteNonQuery(); 
con.Close();

tDB1.sqlite をプログラム フォルダーにコピーし、sqlite で tMembers テーブルを作成します。

プログラムを実行すると、プログラム デバッガーに ""cmd1.ExecuteNonQuery();"" 行が表示され、次のように表示されます: SQLite エラー no such table

私を助けることができますか?ありがとうございました。

4

2 に答える 2

0

現在のディレクトリだけに基づいたファイルの外観は少し弱いです。データベースが実行可能ファイルとまったく同じディレクトリに配置されていることが確実な場合 (つまり、Visual Studio $ からデバッグする場合projectdir$\bin\debug、次のコードのようにパスを強制できます。

SQLiteConnection con = new SQLiteConnection(string.Format("Data Source={0};Version=3;"
Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),"tdb1.sqlite"))
    );
于 2012-07-28T11:45:09.250 に答える