|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.08.2011, 13:21 | #1 |
Новичок
Джуниор
Регистрация: 14.08.2011
Сообщений: 1
|
Windows. ODBC. MDB база. Проблема с SQLColumns
Коллеги, кто работал с функциями ODBC напрямую? передо мной задача - получить полное описание всех таблиц в базе MDB. Список таблиц я прекрасно получаю и обрабатываю с помощью SQLTables. Список колонок получается при помощи SQLColumns. С именами и типами данных все в порядке. А вот с признаком NOT NULL - нет! Сколько бы ни было в таблице колонок NOT NULL, для всех них возвращается NULLABLE = 1 (11 позиция) и ISNULLABLE = "YES" (18 позиция). А для меня это важно - от этого будут зависеть дальнейшие действия в алгоритме, обработка ситуации "нет нужных данных"
У гугля спрашивал - только еще 1 человек в 2006 году интересовался подобным, и ему никто не ответил.... Вот есть программка http://alekseyrybakov.narod.ru/ViewODBC.zip, так она показывает все правильно. Посмотрел таблицу импорта exe-шника - автор вроде тоже пользуется SQLColumns, включил трассировку ODBC, и потом у себя воспроизвел те же вызовы с теми же параметрами - и нифига. Правда, он получает данные из result set-а, сделав предварительно SQLBindCol, как в примере в MSDN, а я через SQLGetData, но это же непринципиально, ИМХО. Я и через SQLBindCol пробовал, те же яйца. Написал тестовую прогу, она коннектится к базе db1.mdb, лежащей в текущем каталоге, создает таблицу с двумя NOT NULL колонками, и запрашивает инфу о колонках этой таблицы. Если обнаружена колонка NOT NULL, то должен выскочить MessageBox. Я уж пробовал и Nullable вместо SQLSMALLINT определять как SQLINTEGER - ничего не меняется, никак не получается отдетектить. Может, я ошибаюсь где-то в программе? У меня такое чувство, что есть какая-то хитрость, которую знают все, кроме меня, потому что с виду все просто (для меня), и я не пойму, что можно подправить в получении полей запроса, чтобы заработало. Код:
Последний раз редактировалось rpy3uH; 14.08.2011 в 13:33. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как подключится к базе база mdb если в bds2006 нет вкладки ADO ? | DeDoK | БД в Delphi | 4 | 15.09.2010 08:48 |
Небольшая база в Open Office База данных. | sashaman | Фриланс | 3 | 11.04.2010 20:13 |
Проблема с Драйверами ODBC | komar73 | Windows | 3 | 13.04.2009 09:16 |
проблема с ODBC | ГОСЕАН | БД в Delphi | 8 | 23.09.2007 10:53 |
Проблема соединения с MySQL через ODBC | yakovlev87 | БД в Delphi | 1 | 27.08.2007 09:51 |