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

ODBC - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка строк http://www.cyberforum.ru/cpp-beginners/thread372840.html
Помогите написать программу, которая читает строки из файла в массив строк, и выводит их на экран, отсортировав по названию, исключая правовую форму. Т.е. не сравнивает ЗАО , ОАО , ООО Пример: ЗАО...
C++ неверный ввод cout<<"\tViberite variant vvoda:\n\n"; cout<<"\t1.Vvod vruchnuy\n"; cout<<"\t2.Iz faila"; int menu=0; cout<<"\n\nVash variant ? (1 or 2): "; cin>>menu; ... http://www.cyberforum.ru/cpp-beginners/thread372835.html
Подскажите что обозначают выделенные строки. C++
Что обозначают 10,11 и 12 строки??? Заране спасибо. Я знаю что printf -вывод параметров на дисплей, а \n -управляющая последовательность. Но в итоге что обозначают 10,11 и 12 строки я понять не могу....
C++ Програмно создать txt файл..
Народ как создать txt файл програмно на c++.? Заранее благодарен)
C++ If else помогите разобраться http://www.cyberforum.ru/cpp-beginners/thread372802.html
Доброго времени суток всем. Не так давно начали программировать в C++ MS Visual Studio 2010? и возникло у меня затруднение в работе с if Суть проблеы в том, что второе условие (2 вариант) не...
C++ Составить программу .Составить программу, которая будет выводить таблицу квадратов для последовательности целых чисел.(C++) подробнее

Показать сообщение отдельно
gCorn
10 / 10 / 2
Регистрация: 02.08.2011
Сообщений: 28

ODBC - C++

26.10.2011, 19:19. Просмотров 505. Ответов 0
Метки (Все метки)

Столкнулся с такой проблемой при работе с базой данных.
Вот таким образом я читаю определенную строку из базы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CString str;
    str.Format("SELECT field2 FROM table WHERE field1 = %d;",id);
    
    CRecordset rec(db);
    CDBVariant var;
    
    rec.Open(CRecordset::forwardOnly,str,CRecordset::readOnly);
    
    if(rec.IsEOF())
    {
        return CString("Пусто");
    }
 
    rec.GetFieldValue(short(0),var);
        str=*var.m_pstring;
    rec.Close();
    return str;
Но если поле, где должна быть строка не заполнено, то программа вылетает. Пытался к строке понежнее подойти всякими IsEmpty() но все равно вылетает.

Добавлено через 4 часа 30 минут
там генерируется исключение "Access Violation" при обращении к строке. Помощь нужна срочно =\

Добавлено через 33 минуты
Может можно самому поймать это исключение и как-то обработать?
я как-то не силен в этом...

Добавлено через 1 час 7 минут
пока искал ответ сочинил две оды майкрософтам....
в классе CDBVariant есть поле m_dwType;
которое принимает некоторые значения, отталкиваясь от которого можно понять кое значение из его полей является валидным. В том числе есть значение DBVT_NULL при котором как бы ни одно значение не является валидным, однако на деле если читается пустое поле то это поле вместе со всеми принимает случайное значение зависящее от положения небесных тел или еще чего.
НО! Самое эпичное из того что я выяснил по этой теме, что вроде как когда читаешь пустое строковое поле, то m_dwType не является DBVT_STRING.
msdn дает нам простор для изучения любимых технологий ^^

P.S.: Извиняюсь за репост (я создал такую же тему в разделе Visual c++ и базы данных, называется "VC++ && MS access")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru