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

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

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

Вывод записей из базы данных - Windows Phone

07.08.2015, 13:42. Просмотров 257. Ответов 2
Метки нет (Все метки)

Здравствуйте! я совсем новичок, так что сильно не пинайте
Решил изучать и одновременно делать простенькие приложения, так легче понять как-то...

Вообщем хочу сделать чтобы на экране выводились записи из базы sql.
Одна страница - одна запись, по клике на кнопку далее выводилась следующая запись.

Как вывести одну запись разобрался (благодаря статьям), но вот как по клику вывести следующую на этом же месте?
Придумал, вариант с использованием функции LIMIT в SQL запросе, не знаю правильно это или нет, но другого варианта я пока не знаю
Сейчас имеется такой код:
Вывод на странице записи:
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
        public long Cat_Id { get; set; } // принимаем ид категории
        public int n = 0; // начинаем с 1 записи
 
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (e.Parameter != null)
            {
 
                long cat_id = (long)e.Parameter;
                Post b = App.repo.GetPost(cat_id, n); // ид категории и номер записи для вывода
                if (b != null)
                {
                    textBoxPost.Text = b.P_Post; // вывожу в текстбокс
                    Cat_Id = cat_id;
                }
            }
        }
 
        private void buttonMenu_Click(object sender, RoutedEventArgs e)
        {
            Frame.Navigate(typeof(MainPage));
        }
        
        public void buttonNext_Click(object sender, RoutedEventArgs e)
        {
           
              n = n + 1; // при клике увеличиваю n на один, чтобы изменить запрос
        }
ну и обрабатывается этим:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
        public Post GetPost(long cat_id, int n)
        {
            Post post = null;
            
            using (var statement = con.Prepare("SELECT p_id, p_cat_id, p_post FROM posts WHERE p_cat_id=? LIMIT " + n +", 1"))
            {
                statement.Bind(1, cat_id);
                
                if (statement.Step() == SQLiteResult.ROW)
                {
                    post = new Post();
                    post.P_Id = (long)statement[0];
                    post.P_Cat_Id = (long)statement[1];
                    post.P_Post = (string)statement[2];
                }
            }
 
            return post;
        }
В результате выводится первая запись, при клике на кнопку переменная увеличивается, но информация в текстбокс не меняется...
Подскажите, как правильно реализовать такое? а то уже третий день не могу дальше сдвинуться
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2015, 13:42     Вывод записей из базы данных
Посмотрите здесь:

Вывод данных в TextBlock Windows Phone

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
wadzimka_ddr
10 / 10 / 5
Регистрация: 30.10.2014
Сообщений: 68
07.08.2015, 15:40     Вывод записей из базы данных #2
enbond,
логично, текст у тебя меняется в методе OnNavigatedTo, а кнопкой ты тупо переменную инкрементируешь)
попробуй грузить данные в обработчике кнопки - сразу после инкрементирования
enbond
0 / 0 / 0
Регистрация: 07.08.2015
Сообщений: 6
13.08.2015, 13:53  [ТС]     Вывод записей из базы данных #3
спасибо, разобрался сразу неправильно понял логику работы
Yandex
Объявления
13.08.2015, 13:53     Вывод записей из базы данных
Ответ Создать тему
Опции темы

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