2012-09-11 40 views
0

我試圖訪問Sql Server Compact數據庫。 這是一個clickonce應用程序,所以如果在安裝應用程序時可以創建數據庫,我希望它。使用ADODB或LINQ連接到SQL Server CE

我得到了它,這樣,當啓動應用程序通過使用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. 

或者,我不介意學習如何使用LINQ到SQL,3.5支持它,但我還沒有找到如何連接到一個數據庫在第一次啓動之前可能不存在,這意味着我無法使用數據庫嚮導。

回答

0

找到一些教程來使用LINQ to SQL。
這不像使用常規SQL Server的ADODB那麼容易,因爲您必須爲每個表製作類,但這並不壞。

0

這只是一個意見,爲什麼不使用實體框架: Here是一種方法,使連接手動 這只是一個意見,我希望同樣可以幫助你......

+0

開始玩LINQ,我不確定實體框架會更好。它似乎比從System.Data.SqlServerCe內置的東西更笨重,也許我錯過了一些東西。 – AndyD273