0

WinFormsアプリケーションを構築していて、SQL Server CompactEdition3.5を使用しています。

WinFormsアプリケーションを実行し、後でVisual Studioでクエリエディターを開いた場合、実行した更新クエリはアプリケーションに反映されません。クエリを実行Selectして更新されたレコードを表示すると、クエリ結果から、データが変更されているが、アプリケーションに反映されていないことがわかります。

アプリケーションを閉じて再度実行すると、更新がアプリケーションに反映されます。

これは正常ですか?これについての最も良い説明は何ですか?

アップデート

C#から

string sqlceConnString = @"Data Source=|DataDirectory|\medicstores.sdf";

VisualStudioの新しいクエリ接続ウィンドウから

C:\Users\user12345\...\Visual Studio 2010\Projects\StockPro\StockProFormUI\medicstores.sdf

アップデート

これは、アプリケーションがデータベースファイルを複製して\StockPro\StockProFormUI\bin\Debug\medicstores.sdf、を使用する代わりにコピーしたことが原因である可能性があります\StockPro\StockProFormUI\medicstores.sdf

の物理ファイルから新しいコピーを作成するアプリケーションによって|DataDirectory|解決されたと思います。したがって、それらは同じではありません。\StockPro\StockProFormUI\bin\Debug\medicstores.sdf\StockPro\StockProFormUI\medicstores.sdf

4

1 に答える 1

2

最初に接続文字列を確認してください。

サーバー エクスプローラーで SQL CE データベースを切断します。

私も以前その問題を抱えていました。sqlce データベースの正確な場所を取得してから、接続文字列を変更する必要があります。

最初にテストして、ドライブ c:\ に sqlce を配置し、Persist Security Info=False; を追加します。終わりに。正確なデータベース ファイル パスを使用します。

private SqlCeConnection conn = new SqlCeConnection("Data Source=C:\\medicstores.sdf;Persist Security Info=False;"); 

Visual Studio を使用する代わりに、SQL CE ツールを使用して SQLCE データベースを表示できます。

SQL Server CE クエリ ツール - コード プロジェクト

よろしく

于 2012-07-18T23:04:02.907 に答える