powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / ODBC API + CBuilder - что за глюки??
5 сообщений из 5, страница 1 из 1
ODBC API + CBuilder - что за глюки??
    #32319185
DjAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди ХЕЛП! Мозги уже плавятся. Пытаюсь работать с ODBC без BDE, с помощью sql.h и т.п. Делаю три либа из длл с помощью implib -а , подключаю, пишу простейшую программку. Все компилится, но страшно глючит, портятся локальные переменные, исчезают указатели на объекты и т.п.
Вот "рабочий" пример. Если создать новый проект, на первую форму бросить кнопку и комбобокс, обработчик OnClick этой кнопки написать как в примере, то в дебаге видно, что когда дело доходит до строчки "ComboBox1->Items->Add(sStr)", значение ComboBox1 уже испорчено и равно NULL:

Код: plaintext
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.
#include <vcl.h>
#pragma hdrstop
#include  "MainForm.h" 
#include  "sql.h" 
#include  "sqlext.h" 
#pragma package(smart_init)
#pragma resource  "*.dfm" 
#pragma comment(lib, "odbc32.lib" )
#pragma comment(lib, "odbccp32.lib" )
#pragma comment(lib, "user32.lib" )
TForm1 *Form1;
SQLRETURN nResult;
SQLHENV     henv;
SQLHDBC     hdbc;
SQLCHAR pcSQLState[ 10 ];
SQLCHAR pcMsg[ 255 ];
SQLINTEGER nNativeError;
SQLSMALLINT nMsgLen;
AnsiString sStr;

__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if (SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv) != SQL_SUCCESS)
    return;
  if (SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3 , SQL_IS_INTEGER) != SQL_SUCCESS)
    return;
  nResult=SQLAllocHandle(SQL_HANDLE_DBC,henv, (SQLHDBC FAR *)&hdbc);
  if (nResult != SQL_SUCCESS && nResult != SQL_SUCCESS_WITH_INFO){
    SQLGetDiagRec(SQL_HANDLE_DBC,henv,  1 , pcSQLState, &nNativeError, pcMsg, sizeof(pcMsg), &nMsgLen);
    return;
    }
  ComboBox1->Items->Add(sStr);
}
...
Рейтинг: 0 / 0
ODBC API + CBuilder - что за глюки??
    #32319208
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем тебе ODBC ? Когда для этого МС специально придумало ADO.

А у Borland есть замечательные компоненты
...
Рейтинг: 0 / 0
ODBC API + CBuilder - что за глюки??
    #32319754
DjAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну надо :) Подключаюсь к SQLServerу 7.0. Там меня хранимые процедуры интересуют. И вовсе не улыбается ставить BDE. Есть какие-то способы исправить ситуацию без внесения изменений в SQLServer?
...
Рейтинг: 0 / 0
ODBC API + CBuilder - что за глюки??
    #32320100
xroot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Компонеты на закладке ADO, позволяют конектиться через любого поставщика драйверов к БД... В том числе и через ODBC драйверы...
Используй компоненты.
...
Рейтинг: 0 / 0
ODBC API + CBuilder - что за глюки??
    #32320367
DjAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо :) Просветили. Вот так благодаря глюкам начинается изучение новых технологий. Как выяснилось, через ADO можно коннектиться минуя ODBC прямо к SQLServerу!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / ODBC API + CBuilder - что за глюки??
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]