Как подключиться к SQL Server Compact из приложения .NET? - PullRequest
2 голосов
/ 27 июня 2010

Я хотел бы создать приложение WPF, использующее локальную базу данных. Я создал простую базу данных и добавил ее, чтобы я мог видеть свою базу данных NameDB.sdf в моем обозревателе решений.

Как мне подключиться к нему из моего приложения?

Я пытался с пустым приложением, которое просто пытается подключиться к базе данных:

...
using System.Data.SqlServerCe;
using System.Data;

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        SqlCeConnection connection =
            new SqlCeConnection(@"Data Source=|DataDirectory|\NameDB.sdf");
        SqlCeCommand command = new SqlCeCommand("SELECT * FROM Names");
        SqlCeDataAdapter dataAdapter = new SqlCeDataAdapter(command);
        DataSet ds = new DataSet();
        dataAdapter.Fill(ds);
        Console.WriteLine("Done");
    }
}

Но я получаю XamlParseException с этим сообщением:

'Вызов конструктора для типа' WpfDBApp.MainWindow ', который соответствует указанным ограничениям связывания, вызвал исключение.' Номер строки «3» и позиция «9».

Моя строка подключения @"Data Source=|DataDirectory|\NameDB.sdf", так как я хочу использовать «локальный» путь, а не полный путь. Это взято из учебника, на который я ссылаюсь ниже.

Как мне создать простое приложение, которое подключается к локальной базе данных?

Я пытался следовать Доступ к данным SQL Server 2005 Compact Edition с помощью SqlCeResultSet и Visual C # .NET , но, похоже, что это не так же с Visual Studio 2010 и WPF .

Ответы [ 2 ]

4 голосов
/ 27 июня 2010

Вы не инициализировали ваше соединение.

SqlCeCommand command = new SqlCeCommand("SELECT * FROM Names", connection);

Попробуйте сейчас.

1 голос
/ 27 июня 2010

Проблема в вашей строке подключения.Формат должен быть «Data Source =» {FullPath to YourDatabase.sdf} "

См. этот пример MSDN для получения более подробной информации

...