2013-05-21 2 views
0

Я начал настраивать Windows-телефон 8 sqlite, и все получилось отлично. Я установил расширение для SQL для Windows. Затем я продолжил добавление решения (Sqlite.vcxproj). После этого я добавил файлы Sqlite.cs и SqliteAsync.cs. Затем я ссылался на sqlite для телефона Windows в добавлении ссылки, и все казалось прекрасным. Наконец, я добавил USE_WP8_NATIVE_SQLITE в свойства сборки. (Я последовал ->THIS guide)Windows phone 8 Sqlite setup

Во-первых я имел проблемы с SQLite3 отсутствует пространство имен, но затем я установил, что после ручного добавления Community.CsharpSqlite.SQLiteClient.WP.dll, Community.CsharpSqlite.WinPhone.dll, System.Data.Ersatz .WinPhone.dll.

Проблема, когда я вставляю этот код:

private async void CreateDatabase() 
{ 
SQLiteAsyncConnection conn = new SQLiteAsyncConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, "people.db"), true); 
await conn.CreateTableAsync<Person>(); 
} 

я получаю имя пространства имен SQLiteAsyncConnection не может быть найден (вы отсутствуете директиву или ссылку на сборку?) Ошибке.

Это происходит потому, что я не могу добавить sqlite3 dll вручную (я получаю отвязчивый «ссылка на более высокую версию или несовместимую сборку нельзя добавить к ошибке проекта»). SQLite для телефона Windows добавлен в справочную версию.

+0

Вы отклониться от [инструкции на странице SQLITE-Net-КР8 в] (https://github.com/peterhuene/sqlite-net-wp8)? Вам не нужен CSharpSqlite, так как sqlite-net-wp8 предназначен для использования в качестве обертки вокруг собственной библиотеки sqlite. SQLiteAsyncConnection должен быть найден как SqliteAsync.cs должен быть в вашем проекте. Обратите внимание, что его пространство имен является «SQLite», а не «SQLite3». –

+0

Я надеялся, что это как-то сработает, но безрезультатно, да SqliteAsync.cs находится в моем проекте, но он все еще не работает, проверьте комментарий, который я сделал под нижним ответом, для изображения моего браузера решений. Кажется, все на месте, но оно не работает. –

+0

Вам не нужна ссылка из вашего проекта на «SQLite для Windows Phone», поскольку проект Sqlite уже содержит ссылку на него. Вы должны ссылаться на Sqlite (один из sqlite-net-wp8) в качестве ссылки на проект из вашего проекта. –

ответ

0
SQLiteAsyncConnection conn = new SQLiteAsyncConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, "people.db"), true); 

Следующая открытое соединение

await conn.OpenAsync(); 
string empPersionallInfo = "create table if not exists EmpInfo" + "(no int," + "name varchar(20))"; 
await conn.ExecuteStatementAsync(empPersionallInfo);