SQL Server CE データベース用の単純な挿入ステートメントを作成しようとしていますが、コードは完全に機能します。...行が実際にデータベースに挿入されないことを除いて...
私のコードは次のとおりです。
public static int InsertTourCreater(string userName, string password)
{
SqlCeConnection connection = GuidedTourDB.GetConnection(); //Returns connection
string insertStatement =
"INSERT INTO [Tb_Creater] " +
"([User_Name], [Password]) " +
"VALUES (@UserName, @Password)" ;
SqlCeCommand insertCommand = new SqlCeCommand(insertStatement, connection);
insertCommand.Parameters.Add(new SqlCeParameter("@UserName", SqlDbType.NVarChar)).Value = userName;
insertCommand.Parameters.Add(new SqlCeParameter("@Password", SqlDbType.NVarChar)).Value = password;
try
{
connection.Open();
int success = insertCommand.ExecuteNonQuery();
return success;
}
コードは正常に実行されます。デバッグ モードでステップ実行すると、接続が開き、値がすべて正しく追加され、値 1 が返されますが、サーバー エクスプローラーExecuteNonQuery()
でテーブル データを確認すると、レコードがありません。Tb_Creater
ビジュアルスタジオをリフレッシュして再起動しました。いない。例外はスローされません。
注:AddWithValue()
文字列が既定で (SQL Server CE では使用できない) に変換されて問題が発生するのではないかと心配したためではなく、そのようなパラメーターを追加してvarchar
いますが、コードはどちらの方法でも同じように動作します。