wydobywanie danych z mssql bazy w vc++ 6.0

0

...dobra, 3 dni lookania to za duzo

Mam bazw apisana w MSsql, zarejestrowana na serwerze sql 2000 i w odbc.
Chce wydobyc dane z jednej tabeli korzystajac z aplikacji dialogowej (w sdi mniej wiecej wiem jak z supportem database ale to mnie nie ustawia).
Mam"

CDatabase *dat;
	CRecordset *rec;
	dat=new CDatabase;
	dat->Open( "sqlMOJE",  FALSE,  FALSE,  "ODBC;",  TRUE );
	new CRecordset(dat);

	rec->Open(AFX_DB_USE_DEFAULT_TYPE, "SELECT * FROM authors", CRecordset::none );

no i oczywiscie w otwireani recordu sie sypie, błąd:"żadna kolumna nie byla zwiazana przed wywołaniem procedur SQLFetchScroll/SQLExtendedFetch"
Dodam ze baza : sqlMOJE jest standardowa baza przykladowa pubs (dostarczana z mssql2000).

  1. WIec moje pytanie oczywiscie brzmi ; co robie zle?
  2. Czy musze dziedziczyc klase CRecordSet do klasy zawierajacej zmienne bedace kolumnami mojej tabeli (bo tak gdzies widzialem, co wydaje mi sie niepraktyczne)
  3. Jak potem z klasy CRecordSet moge wyciagnac wiersz?
  4. Co polecacie jakiegos wiekszego tutoriala dot. laczenia sie z bazami z poziomy vc++ (6.0 , bo te nowsze maja wbuowane cos tam)., tylko opisujacego problem dokladnie., w msdn mam wszystko ale rozrzucone

Dzieki wielkie.
Pozdrawiam
Michal

0

dobra juz wiem, nie zauwazylem:

virtual BOOL Open( UINT nOpenType = AFX_DB_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, DWORD dwOptions = none );
(...)
lpszSQL

A string pointer containing one of the following:

A NULL pointer.

The name of a table.

An SQL SELECT statement (optionally with an SQL WHERE or ORDER BY clause).

A CALL statement specifying the name of a predefined query (stored procedure). Be careful that you do not insert whitespace between the curly brace and the CALL keyword.

ale jesli dam:

rec->Open(AFX_DB_USE_DEFAULT_TYPE, "authors", CRecordset::none );
nadal zwraca blad

1 użytkowników online, w tym zalogowanych: 0, gości: 1