Sql Server Compact データベースにアクセスしようとしています。クリックオンスのアプリなので、アプリインストール時にデータベースが作成できるようにしてほしいです。
アプリケーション起動時にSqlCeEngine、SqlCeConnectionなどでデータベースを作成するようにしました。
ただし、この方法でのクエリと挿入は複雑であるため、ADODB で動作させることを望んでいました。
Dim MyCn As New ADODB.Connection
MyCn.Provider = "Microsoft.SQLSERVER.CE.OLEDB.3.5"
MyCn.ConnectionString = My.Settings.LocalConnectionString
MyCn.Open()
Dim rSelect As New ADODB.Recordset
With rSelect
.Open("Select wID, DirPath, Children From Watches Where DirPath like '" & dialog.SelectedPath & "'", MyCn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
If .EOF Then
.AddNew()
.Fields!DirPath.Value = dialog.SelectedPath
.Fields!Children.Value = True
.Update()
End If
.Close()
End With
しかし、私はエラーが発生します:
In order to evaluate an indexed property, the property must be qualified and the arguments must be explicitly supplied by the user.
または、3.5 でサポートされているので、LINQ to SQL の使用方法を学んでもかまいませんが、プログラムが初めて起動するまで存在しない可能性のあるデータベースに接続する方法が見つかりませんでした。データベース ウィザードを使用します。