在INSERTION之后检查SQL Server CE数据库以进行应用程序评估

时间:2012-08-03 18:33:29

标签: c# sql-server-ce

我有以下用于插入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文件在解决方案资源管理器外是可见的,所以我无法检查它我想检查我的数据库文件以进行评估,即数据是否正确插入其中

请告诉我该怎么做

谢谢!

1 个答案:

答案 0 :(得分:2)

这是你的问题:

...文件复制属性将DB文件移动到Debug / Bin / Release Folder,当我在项目文件夹中检查我的数据库文件时它是空的

项目文件夹中的数据库文件是原始的,未更改的源数据。构建应用程序时,Visual Studio会将原始项目文件复制(不移动)到输出文件夹(Bin / Release或其他)。您的代码将数据插入副本,而不是原始未更改的数据。

要“检查您的数据库文件以进行评估”,您必须检查副本,而不是原始未更改的源文件。您可以从插入数据的同一个应用程序,也可以使用DataDirectory属性的测试应用程序(如果它位于同一输出文件夹中),或者您可以在输出目录中打开该文件(Bin /在您的情况下发布。)

... Bin / Release文件在Solution explorer ...
之外可见

是的,因为它不属于您的项目。输出数据就像您调用Stream.WriteConsole.Writeline一样。原始的,未更改的源数据是源的一部分,如.cs文件。它不会传递给用户或通过运行您的应用程序进行更改。您必须在Bin / Release或其他任何地方测试副本。