Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
SpawnUnDead
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 16
#1

Windows Phone и локальная БД - Windows Phone

28.10.2014, 05:37. Просмотров 823. Ответов 7
Метки нет (Все метки)

Доброго времени суток. Пишу Сюда не часто, стараюсь находить ответы сам и не загромождать глупыми вопросами форум.
Но тут никак не могу найти решения.

Необходима локальная БД для моего приложения. Я так понял что надо использовать SQLite. Я разобрался с созданием самой БД, с этим проблем не было.
Как мне работать с ним через моё приложение. Необходимо считывать и записывать информацию.

Я переходил по всем возможным ссылкам что упоминались в похожих темах. Много где чего вычитывал. Но так и не понял простой реализации. Везде предлагают создавать БД в коде.

Прошу людей сталкивающихся с этим и разобравшихся скинуть мне живой пример, а не ссылки на статьи что я и так прочитал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2014, 05:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Windows Phone и локальная БД (Windows Phone):

На Windows Phone 8 можно будет запускать приложения для Windows Phone 7 - Windows Phone
Либерман сообщил, что операционная система будет обладать обратной совместимостью с Windows Phone 7. Это означает, что обладатели...

Совместим ли код Windows Phone 7 с Windows Phone 8? - Windows Phone
Совместим ли код Windows Phone 7 с Windows Phone 8?

Разница в Windows Phone Silverlight App и Windows Phone App - Windows Phone
Доброго вам времени суток, товарищи! Возможно вопрос дурацкий, но я не смог для себя уяснить в чём разница и под что лучше разрабатывать...

Правда ли что на windows ниже 8 нет никакой возможности разрабатывать под windows phone - Windows Phone
Правда ли что на windows ниже 8 нет никакой возможности разрабатывать под windows phone? Я например не имею ни малейшего желания переходить...

Можно ли создавать приложение для windows phone 7 на пк с windows 8 - Windows Phone
Хотел начать разрабатывать под windows phone 7 но столкнулся с проблемой что совершенно нифига(мягко выражаясь )не понятно какую студию...

Обмен данными между Windows Phone и Windows по wi-fi - Windows Phone
Как сделать обмен данными между Windows Phone и Windows по wi-fi?

7
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
28.10.2014, 15:43 #3
Local Database Sample
0
SpawnUnDead
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 16
28.10.2014, 18:59  [ТС] #4
Спасибо за пример. Попробую разобраться. Тема ещё, если что, актуальна.

А эту статью по ссылке я первым делом читал, из практического руководства на msdn ведёт. Я ж говорил, я читал ваши посты на форуме и на статьи не надо давать ссылок.
0
A4Tech_Man
51 / 51 / 7
Регистрация: 23.05.2013
Сообщений: 486
28.10.2014, 19:58 #5
я скажу как понимаю. берем класс и обозначаем его атрибутом [Table](что то вроде паттерна актив рекорд). т.е. наш класс будет таблицей, а поля в нем соответственно полями таблицы [Column]. Там можно в атрибутах указывать доп. настройки типа(первичный, там не нулл и тд). потом надо создать новый класс у унаследовать от DataContext. И там запилить статический путь для БД(чтобы можно было в любой момент обратиться).
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public class ToDoDataContext : DataContext
{
    // Specify the connection string as a static, used in main page and app.xaml.
    public static string DBConnectionString = "Data Source=isostore:/ToDo.sdf";
 
    // Pass the connection string to the base class.
    public ToDoDataContext(string connectionString)
        : base(connectionString)
    { }
 
    // Specify a single table for the to-do items.
    public Table<ToDoItem> ToDoItems;//Вот сдесь будет твой БД(инициализируешь класс при запуске приложухи.)
}
не забудь проверять каждый раз создан ли БД
C#
1
2
3
4
5
6
7
8
using (ToDoDataContext db = new ToDoDataContext(ToDoDataContext.DBConnectionString))
{
    if (db.DatabaseExists() == false)
    {
        //Create the database
        db.CreateDatabase();
    }
}
А для создания связей с внешними ключами более сложный код. Как здесь. Указываешь внешний ключь, а потом коллекцию запиливаещь для связей(т.к. их может быть много). Если присмотреться как ALTER TABLE ADD CONSTRAINT получается, тока под свой манер
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
private string _ownerId;
    [Column(IsPrimaryKey = true, CanBeNull = false)]
    public string OWNER_ID
    {
        get { return _ownerId; } 
        set
        {
            if (value == OWNER_ID)
                return;
            RaisePropertyChanging("OWNER_ID");
            _ownerId = value;
            RaisePropertyChanged("OWNER_ID");
        }
    }
 
    private EntityRef<User> _ownerRef;
    [Association(Name = "FK_USER_ACCOUNTS", ThisKey = "OWNER_ID", OtherKey = "ID", Storage = "_ownerRef", IsForeignKey = true)]
    public User Owner { 
        get { return _ownerRef.Entity; }
        set 
        { 
            User previousValue = _ownerRef.Entity;
            if(previousValue==value)// && !_ownerRef.HasLoadedOrAssignedValue)
            {
                return;
            }
            if(previousValue!=null)
            {
                _ownerRef.Entity = null;
                previousValue.Accounts.Remove(this);
            }
            RaisePropertyChanging("Owner");
            _ownerRef.Entity = value;
            if(value!=null)
            {
                value.Accounts.Add(this);
                OWNER_ID = value.ID;
            }
            else
            {
                OWNER_ID = string.Empty;
            }
            RaisePropertyChanged("Owner");
        }
    }
1
SpawnUnDead
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 16
28.10.2014, 20:50  [ТС] #6
A4Tech_Man, скажите. у меня готовая БД. мне её просто добавить к проекту , в свойствах выставить "копировать всегда" и она поместиться в изоляционное хранилище приложения при компиляции, я правильно понимаю?

Ещё такой вопрос.Читал как сделать снимок приложения себе на компьютер. Надо использовать ISETool. Но она у меня сразу закрывается. Я если что тестирую на телефоне сразу.
0
A4Tech_Man
51 / 51 / 7
Регистрация: 23.05.2013
Сообщений: 486
28.10.2014, 21:25 #7
скорее надо как ресурс и он потом должен быть в вашем xap файле всегда. насчет фотографий в wp7 там с экрана эмуля копируешь обычными ножницами,а в wp8 есть специальная функция. там на эмуле будет '>>' такая примерна стрелка ее нажимаешь и там во вкладке выбираешь снимок экрана. а на смартфоне вроде горячие клавиши есть. смотри в инете.
0
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
29.10.2014, 12:12 #8
Цитата Сообщение от SpawnUnDead Посмотреть сообщение
скажите. у меня готовая БД. мне её просто добавить к проекту , в свойствах выставить "копировать всегда" и она поместиться в изоляционное хранилище приложения при компиляции, я правильно понимаю?
нет, она будет ресурсами проекта при Copy Always.
Потом придётся при первом запуске брать и копировать её из ресурсов и Isolated Storage
1
29.10.2014, 12:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2014, 12:12
Привет! Вот еще темы с ответами:

Windows Phone - Windows Phone
Подскажите пожалуйста, у меня есть json файл по расписанию, где есть такие поля как наименование группы и номер группы. На странице...

Секундомер на Windows phone - Windows Phone
Хочу создать секундомер на WP8.1 Visual Studio выдает ошибку в строчке &quot;aTimer.Tick += new EventHandler(timer);&quot; функцию timer указанную...

GPS Windows Phone - Windows Phone
Программа GPS-трекинга. Нужно чтоб координаты определялись только от GPS(не от интернета). Есть идея в функцыи определения местоположения...

Архитектура Windows Phone 8 - Windows Phone
Доброго времени программисты С#. Кто нибуть знает Архитектуру Windows Phone 8? (конкретно 8 версия). В поисковике ничего не нашел. Слышал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru