2016-02-10 4 views
0

Добрый день всем, Я создаю приложение в Xamarin.Forms Portable для iOS, Android, Windows Universal (10).Xamarin.Forms Portable + Mono.Data.Sqlite.Portable

Я пытаюсь использовать Mono.Data.Sqlite.Portable, но я не могу создать или подключиться к локальной базе данных, я пробовал много решений, чтобы исправить эту проблему, но до сих пор я не знаю найти решение ..

Ошибка: «connection.open();»

Кодекс:

var config = DependencyService.Get<DB.IConfig>(); 
     var cnn = config.DirectoryDB; 


     using (var connection = new SqliteConnection("" + 
      new SqliteConnectionStringBuilder 
      { 
       DataSource = "URI=file::memory:", 
       Version=3, 

      })) 
     { 
      //connection.ChangeDatabase("hello.db"); 

      connection.Open(); 
      using (var transaction = connection.BeginTransaction()) 
      { 
       var insertCommand = connection.CreateCommand(); 
       insertCommand.Transaction = transaction; 
       insertCommand.CommandText = "CREATE TABLE TESTE(teste as varchar(10))"; 
       insertCommand.ExecuteNonQuery(); 
       transaction.Commit(); 
      }     
     } 

на "DataSource" Я локальный путь, и другие пути. (Ex :. C: \ Users \ MyMachineName \ AppData \ Local \ Packages \ f736c883-f105-4d30-a719-4bf328872f5e_nh7s0b45jarrj \ LocalState \ hello.db)

Ошибка:

Исключение типа «System.NotImplementedException» произошло в Mono.Data.Sqlite.dll, но не был обработан в пользовательском коде

Дополнительная информация: метод или операция не выполнена.

ImageError

Connection Extra Information

Последняя картина, это может дать более подробную информацию ....

Спасибо всем заранее :)

+0

Вы прочитали документы об использовании SQLite с XF? https://developer.xamarin.com/guides/xamarin-forms/working-with/databases/ – Jason

+0

Да, я уже готов, и я уже внедрил версию PCL, которую они показывают, но эта версия ORM. Я пытаюсь использовать OleDB –

+0

, что проект не обновлялся через год, а на сайте проекта 404 - я не уверен, что буду опираться на него – Jason

ответ

0

Я нашел решение, я надеюсь, что это поможет людям, которые могут искать то же самое, что и я.

Просто зайдите в Нугет - и скачайте Portabl e.Data.Sqlite, который основан на SQLitePCL (последняя версия). Этот пакет (Portable.Data.Sqlite) будет использовать соединение и создаст SqliteDataReader и другие свойства, которые мы используем для использования.

Это будет работать на Visual Studio 2015, и проект должен быть в рамках 4,51 + =

---- Ошибка Советы ----

, если вы столкнулись с этой ошибкой: Cant использовать временной База данных или Путь, просто скачайте Sqlite.dll и поместите в папку BIN проекта и System32/SysWoW64.

Смежные вопросы