0

Windows フォーム アプリケーション プロジェクト (vb) にローカルの sqlceserver データベース (バージョン 3.5.8080.0) をアタッチしました。次のコードを使用してデータを挿入しようとすると、

infoReader = My.Computer.FileSystem.GetFileInfo(i)
cmd.CommandText = "insert into log(filename,filesize,cdate) values('" & i & "'," &     infoReader.Length & ",'" & Now.ToString(("yyyy-MM-dd")) & "')"
cmd.Connection = cs
cs.Open()
cmd.ExecuteNonQuery()
cs.Close()

cs は、次の宣言を持つ sqlceconnection オブジェクトです。

Dim strconnection As String = "Data Source=|DataDirectory|\Database1.sdf"
Dim cs As New SqlCeConnection(String.Format("{0}", strconnection))

必要なすべてのアセンブリを追加し、必要な名前空間をインポートしました。cmd.ExecuteNonQuery() は 1 を返します。これは、挿入コマンドに問題がないことを意味します。しかし、サーバー エクスプローラーでデータを表示しようとすると、行が挿入されません。どんな助けでも大歓迎です。

4

1 に答える 1

3

OK、SqlCeを使用する場合、データベースはアプリケーションの出力フォルダーに追加されるファイルです。ソリューションの同じフォルダーにDataDirectoryがあります。ただし、Debugフォルダーを調べると、.exeと別のDataDirectoryが表示されます。サーバーエクスプローラーは、Debugフォルダーではなく、solutionフォルダーに接続されているため、新しい行が表示されません。

于 2012-09-18T03:54:31.090 に答える