0

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 の使用方法を学んでもかまいませんが、プログラムが初めて起動するまで存在しない可能性のあるデータベースに接続する方法が見つかりませんでした。データベース ウィザードを使用します。

4

3 に答える 3

0

SQL Server CE を使用しています。この記事はアプリケーションのウォークスルーです
http://blogs.msdn.com/b/stevelasker/archive/2008/02/11/stored-procedures-and-sql-server -compact-the-great-debate.aspx

于 2012-09-12T08:02:51.723 に答える
0

これは単なる意見です。エンティティ フレームワークを使用しない理由: 接続マニュアルを作成する方法は次のとおりです。これは単なる意見です。同じことがあなたの役に立てば幸いです...

于 2012-09-11T22:49:12.367 に答える
0

LINQ to SQL を使用するためのチュートリアルがいくつか見つかりました。
テーブルごとにクラスを作成する必要があるため、通常の SQL Server での ADODB ほど簡単には使用できませんが、それほど悪くはありません。

于 2012-09-26T13:32:47.463 に答える