Не удается открыть базу данных SQLCompact - PullRequest
1 голос
/ 31 декабря 2011

Я работаю с компактной базой данных SQL, и при импорте я могу проверить соединение и скопировать точный путь к файлу в мой код, но он по-прежнему говорит, что он не был открыт.Что я делаю неправильно?Доступны ли ярлыки, если я уже добавил базу данных в свой проект?

Спасибо!

Imports System.Data.SqlServerCe 

Module Module1

Sub Main()

    Dim constring As String = "Data Source=C:\Users\test\Desktop\MyDatabase1.sdf"

    Dim conn As New SqlCeConnection(constring)

    Dim cmd As New SqlCeCommand("SELECT * FROM ACCOUNT")

    conn.Open()

    Dim reader As SqlCeDataReader = cmd.ExecuteReader()

    While reader.Read()
        Console.WriteLine(reader)
    End While


End Sub

End Module

Ответы [ 2 ]

2 голосов
/ 31 декабря 2011

Вам необходимо назначить соединение команде:

Сразу после этой строки:

conn.Open()

добавить:

cmd.Connection = conn

Кроме того, вы можете добавить соединение в конструктор команды:

Dim cmd As New SqlCeCommand("SELECT * FROM ACCOUNT", conn)
1 голос
/ 31 декабря 2011

Одним из основных преимуществ использования SQL-сервера CE (3.5) является использование Linq to SQL.Вы должны использовать строго типизированную базу данных и DataContext.если вы это сделаете, то создание нового DataContext будет ОДНОЙ строкой кода, а не 8. И если ваш файл DataBase не существует, метод CreateDataTable вашего DataContext создаст их для вас.Немного в этом разобраться, потому что использование SQL Server CE, как у старого поставщика данных OLEDB, ... ну ... не оптимально: -)

...