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

С++ для начинающих

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

Выборка из базы (выбирает, но не всё) - C++

25.05.2014, 20:17. Просмотров 158. Ответов 0
Метки нет (Все метки)

Всем привет!
Сразу к делу, а то уже итак на это угробил кучу времени.

Есть метод выборки из базы данных:
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
std::vector< std::string > DB::select(char* id) {
 
    try {
 
        sqlite3_stmt *stmt;
        const char *query = "SELECT title, description, year FROM films WHERE id=";
        char* buff = new char[strlen(query)+5];
    
        strcpy(buff, query);
        strcat(buff, id);
        
        if(sqlite3_prepare(_db, buff, -1, &stmt, NULL) == SQLITE_OK) {
 
            int colQ = sqlite3_column_count(stmt);
 
            int execCode = 0;
 
            std::vector< std::string > data(colQ);
 
            for(int i = 0; i < colQ; ++i) {
                
                execCode = sqlite3_step(stmt);
 
                if(execCode == SQLITE_ROW)
                    data[i] = (char*)sqlite3_column_text(stmt, i);
                
                else if(execCode == SQLITE_ERROR)
                        throw new DBException("Can't select data.", __LINE__, __FILE__);
            }
 
            sqlite3_finalize(stmt);
            return data;
 
        }else throw new DBException("Can't prepare select query.", __LINE__, __FILE__);
 
    }catch(DBException* d) {
        d->write(); delete d;
 
        std::vector< std::string > EmptySet(0);
        return EmptySet;
    }
    
}
Почти всё работает, только вот поле description не выберется, а название и год выбираются.
Без понятия что делать... уже всё перепробовал, может вы подскажете?
Заранее благодарен.

Добавлено через 41 минуту
решено! неправильно уложил циклы))
вот так нужно было:

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
std::vector< std::string > DB::select(char* id) {
 
    try {
 
        sqlite3_stmt *stmt;
        const char *query = "SELECT title, description, year FROM films WHERE id=";
        char* buff = new char[strlen(query)+5];
    
        strcpy(buff, query);
        strcat(buff, id);
        
        if(sqlite3_prepare(_db, buff, -1, &stmt, NULL) == SQLITE_OK) {
 
            int colQ = sqlite3_column_count(stmt);
 
            int execCode = 0;
 
            std::vector< std::string > data(colQ);
   
            execCode = sqlite3_step(stmt);
            
            if(execCode == SQLITE_ROW)
                for(int i = 0; i < colQ; ++i) 
                    data[i] = (char*)sqlite3_column_text(stmt, i);
    
            else if(execCode == SQLITE_ERROR)
                    throw new DBException("Can't select data.", __LINE__, __FILE__);
 
            sqlite3_finalize(stmt);
            return data;
 
        }else throw new DBException("Can't prepare select query.", __LINE__, __FILE__);
 
    }catch(DBException* d) {
        d->write(); delete d;
 
        std::vector< std::string > EmptySet(0);
        return EmptySet;
    }
    
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2014, 20:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выборка из базы (выбирает, но не всё) (C++):

MySQL Всё правильно а не выбирает базу! - PHP БД
create database auth; use auth; create table authorized_users ( name varchar(20), password varchar(40), ...

Выборка из БД выбирает не все данные - Visual Basic
Подскажите пожалуйста В чем может быть проблемма: делаю выборку из базы, добавляю все найденные записи в &quot;Text&quot;, но выбирается всего...

Скрипт не выбирает данные из базы - PHP БД
Вообщем есть готовый скрипт, который не отображает загруженные файлы для редактирования. Сам я долго ломал голову и никак не мог понять...

Участие в Open Source,KDE, проекты, qtbase5-dev и всё всё всё - C++ Qt
Адресовано к разработчикам, кто на линуксе участвует в разработке опен-сорс прог. В общем, началось все как я себе Кубунту 14,04...

Как вывести из базы по id, всё что больше в переменной - PHP
Не могу понять что тут я делаю не так ? $resultat = mysql_query(&quot;SELECT * FROM chat WHERE id &gt; '&quot;.$_SESSION.&quot;'&quot;); если просто вписать...

Всё ли правильно с табличной схемой базы данных резервирования авиабилетов - Базы данных
В соотвествии ли с с Норм. формами таблицы и целесообразны ли внешние ключи так, как они представлены на схеме. Вообще, всё ли нормально со...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2014, 20:17
Привет! Вот еще темы с ответами:

Выборка из базы - PHP БД
Нужна помощь выборке из бд данных за определенный промежуток дат, в формате ...от и до...

Выборка из базы по - PHP БД
Всем доброго времени суток! Имеется следующая форма: &lt;form action=&quot;test1.php&quot; method=&quot;post&quot;&gt; &lt;div&gt;Укажите тип позиции&lt;/div&gt; ...

Выборка из базы - PHP БД
Пишу что-то вроде тестирования для студентов. Студент заходит на главную страницу и указывает свои данные и выбирает указанную тему,...

Выборка из базы - PHP БД
Сильно не углублялся В php работу с базами а видимо стояло. Нужно решить такую задачу У нас есть 25 блоков в которых есть текст из...


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

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

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