Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / ODBC API + CBuilder - что за глюки?? / 5 сообщений из 5, страница 1 из 1
10.11.2003, 16:48
    #32319185
DjAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC API + CBuilder - что за глюки??
Люди ХЕЛП! Мозги уже плавятся. Пытаюсь работать с 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
10.11.2003, 17:18
    #32319208
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC API + CBuilder - что за глюки??
зачем тебе ODBC ? Когда для этого МС специально придумало ADO.

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


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