[ gristic @ 26.06.2005. 22:06 ] @
Ovako, ponovo je u pitanju SQL 2000 server sa SP3 i VS C++ 6 sa SP6.

Da ne bih mnogo pricao imam sledeci kod:

CMyRecordset mrRec;
myRec.Open(CRecordset::snapshot,"select * from ime_tabele", CRecordset::readOnly);

Ovde mi javlja poruku "Invalid descriptor index"

Ako stavim sledeci kod:
myRec.Open(CRecordset::snapshot,"Ime_tabele",CRecordset::appendOnly)

Onda mi javlja poruku "The colum prefix 'dbo.ime_tabele' does not match with a table name or alias name used in the query"

Ako stavim
myRec.Open(CRecordset::snapshot,"ime_tabele1, ime_tabele2...",CRecordset::appendOnly)

Javlja mi sledecu poruku
"Record set is read-only"

Moram napomenuti da koristim ODBC.

Kako da resim ovaj problem
[ MilovanB @ 27.06.2005. 08:13 ] @
Posalji kod cele funkcije gde ti se nalazi linija
myRec.Open(CRecordset::snapshot,"select * from ime_tabele", CRecordset::readOnly);
Kako ti je definisan DSN - da li si testirao. Pokusaj da selectujes samo jednu kolonu umesto '*'.
Pozdrav,
Milovan


[ gristic @ 28.06.2005. 10:33 ] @
Isto se desava i kada selektujem samo jednu kolonu.

Prvo sam napravio UserDSN i testirao je. Zatim sam napravio projekat wizard-om i izabrao opciju Databas view without file support, a u Data Source izabrao odgovarajuci UserDSN i tabele.

Zelim da pri pritusku na dugme upisem podatke u tabelu. Funkcija je sledeca:

void CMyView::OnPushButton()
{
CMySet newSet; //instanca klase koja sadrzi konekciju ka bazi i promenljive
newSet.Open(CRecordset::snapshot,"TABELA",CRecordset::appendOnly);
newSet.AddNew();
newSet.ImeKoloneTable=noviPodatak;
newSet.Update();
}


[ Riste Pejov @ 29.06.2005. 11:22 ] @
Prvo upgrejduj SQL na SP4. Ja sam imao puno problema sa SQL 2K posle instalacije XP SP2, koji su nestali nakon instalacije SQL 2k SP4. Pored svega, MS je skoro napustio koriscenje DAO, i CDatabase i ostale klase za pristup bazama i momentalna tehnologija ide prema koriscenju ADO-a (ADO.NET) koji uzput podrzava OLE DB, ODBC, ....

[Ovu poruku je menjao Riste Pejov dana 29.06.2005. u 12:23 GMT+1]
[ gristic @ 29.06.2005. 12:32 ] @
Instalirao sam i SP4 ali ista stvar se ponavlja. Ovo mi je sve dosadili po cu najverovatnije preci na ADO
[ MilovanB @ 30.06.2005. 12:04 ] @
Pokusaj ovo i javi da li si uhvatio 'exception'.

void CMyView::OnPushButton()
{
CDatabase TVOJA_BAZA;
TVOJA_BAZA.OpenEx("DSN=TVOJ_DSN");
if (TVOJA_BAZA.IsOpen())
{
CRecordset cr(&TVOJA_BAZA);
try
{
cr.Open(CRecordset::snapshot,
"SELECT * FROM IME_TABELE", CRecordset::readOnly );
if (cr.IsOpen()) AfxMessageBox("Otvorena");
cr.Close();
}
catch(CDBException cdb)
{
AfxMessageBox(cdb.m_strStateNativeOrigin);
}
}
else AfxMessageBox("Nije Otvorena");
TVOJA_BAZA.Close();
}

Pozdrav,
Milovan