SQL CE データベースへの挿入に問題があります。
私はいくつかのコードを書いた後、DB が必要になったときに、projected を右クリックし、新しい項目Local Databaseを追加しました。その後、データモデルを選択するように提案されました。
これにより、左側のサーバー エクスプローラーの下に DB が作成され、右側のソリューション エクスプローラーに同じ .sdf ファイルが表示されます。
アプリケーションを起動し、挿入クエリを実行すると、挿入が成功したという出力が表示されます。root/bin/Debug/db.sdf の下の .sdf ファイルが変更されたことがわかります。アプリケーションを閉じますが、元のデータベースが見つかりました/root/db.sdf にあります。サーバー エクスプローラーから DB にクエリを実行すると、変更や挿入された行が表示されません。私が使用するコードは次のとおりです。
最初に、サーバーのデータ ソース オプションを試してみましたが、コメントされていないものはすべてうまくいきませんでした。
//String connectString = @"Data Source=" + '"' + @"C:\Users\Alex\Documents\Visual Studio 2012\Projects\my\my\myDB.sdf;" + '"';
//String connectString = "Data Source:=" + '"' + @"C:\Users\Alex\Documents\Visual Studio 2012\Projects\my\my\my.sdf" + '"';
//String connectString = "Data Source:=C:\\Users\\Alex\\Documents\\Visual Studio 2012\\Projects\\my\\my\\my.sdf";
//String connectString =@"Data Source:=C:\Users\Alex\Documents\Visual Studio 2012\Projects\my\my\myDB.sdf";
String connectString = "Data Source=myDB.sdf";
using (SqlCeConnection connection = new SqlCeConnection(connectString))
{
connection.Open();
String query = "Insert into items (id, title) VALUES ('" + ID + "', '" + title + "');
SqlCeCommand cmd = new SqlCeCommand(string.Format(query), connection);
int result = cmd.ExecuteNonQuery();
}
アプリケーションを閉じた後、項目テーブルを右クリックして「テーブルデータを表示」します-挿入はありません。私は何を間違っていますか?