0

SQL Server CE データベースに挿入する次のスクリプトがあります。

SqlCeConnection Con = new SqlCeConnection();
Con.ConnectionString = (@"Data Source=|DataDirectory|\Database.sdf;Password=Password;");
Con.Open();
SqlCeCommand Query = new SqlCeCommand("INSERT INTO Users(ID,Name,FName,Address,MCode,MNum,Amount) VALUES(@ID,@Name,@FName,@Address,@Code,@Num,@Amount)", Con)
Query.Parameters.AddWithValue("@ID", ID + 1);
Query.Parameters.AddWithValue("@Name", NBox.Text);
Query.Parameters.AddWithValue("@FName", SOBox.Text);
Query.Parameters.AddWithValue("@Address", AdBox.Text);
Query.Parameters.AddWithValue("@Code", Convert.ToInt32(MCode.Text));
Query.Parameters.AddWithValue("@Num", Convert.ToInt32(MNum.Text));
Query.Parameters.AddWithValue("@Amount", Convert.ToInt32(AmBox.Text));

int rowsEffected=Query.ExecuteNonQuery();

MessageBox.Show(rowsEffected.ToString());

挿入後、メッセージ ボックスrows affected=1に、データがデータベースに正常に挿入されたことを意味します。VC# 2010 を使用しています。これは、ファイル コピー プロパティがデータベース ファイルをDebug/Bin/Releaseフォルダーに移動し、プロジェクト フォルダー内のデータベース ファイルをチェックすると、Bin/Releaseファイルがソリューションの外部に表示されるため空です。エクスプローラーなのでチェックできません 評価のために DB ファイルをチェックしたい、つまり、データが正しく挿入されているかどうかを確認したい

これを行う方法を教えてください

ありがとう!

4

1 に答える 1

2

問題は次のとおりです。

... ファイル コピー プロパティは DB ファイルを Debug/Bin/Release フォルダに移動し、プロジェクト フォルダ内のデータベース ファイルをチェックすると空です

プロジェクト フォルダー内のデータベース ファイルは、変更されていない元のソース データです。アプリをビルドすると、Visual Studio は元のプロジェクト ファイルを出力フォルダー (Bin/Release など) にコピーします (移動ではありません)。コードは、変更されていない元のデータではなく、コピーにデータを挿入します。

「評価のためにDBファイルをチェックする」には、元の変更されていないソースファイルではなく、コピーをチェックする必要があります。データを挿入する同じアプリから、同じ出力フォルダーにある場合はプロパティも使用するテスト アプリからDataDirectory、または出力ディレクトリ (この場合は Bin/release) でファイルを開くことができます。 .

... Bin/Release ファイルはソリューション エクスプローラーの外に表示されます ...

はい、プロジェクトの一部ではないためです。Stream.Writeまたはを呼び出した場合と同様の出力データですConsole.Writeline。元の変更されていないソース データは、.cs ファイルなどのソースの一部です。ユーザーに配信されたり、アプリの実行によって変更されたりすることはありません。Bin/Release などでコピーをテストする必要があります。

于 2012-08-03T19:11:28.600 に答える