Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Ado

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
09.07.2003, 09:38 Uhr
~Schandi1860
Gast


Hallo, hab ein Problem mit einer ADO Datenbankanbindung. Hab das Bsp im Buch Visual C++6 in 21 Tagen durchgemacht. Nur leider kommt immer wieder ne Fehlermeldung:
c:\vcp21\programme\tag15\dbado\dbado_alt\debug\msado15.tlh(1317) : error C2629: 'short (' unerwartet
c:\vcp21\programme\tag15\dbado\dbado_alt\debug\msado15.tlh(1317) : error C2238: Unerwartete(s) Token vor ';'

Hab die Variablen wie folgt deklariert.

C++:
// CustomRs.h: Schnittstelle für die Klasse CCustomRs.
//
//////////////////////////////////////////////////////////////////////

#define INITGUID
#import "C:\Programme\Gemeinsame Dateien\System\ado\msado15.dll"
rename_namespace("ADOCG") rename("EOF","adoEOF");
using namespace ADOCG;
#include "icrsint.h"


class CCustomRs :
public CADORecordBinding

{
BEGIN_ADO_BINDING(CCustomRs)
ADO_FIXED_LENGTH_ENTRY (1, adInteger, m_lAddressID, lAddressIDStatus, FALSE)
ADO_VARIABLE_LENGHT_ENTRY2 (2, adVarChar, m_szFirstName, sizeof (m_szFirstName), lFirstNameStatus, TRUE)
ADO_VARIABLE_LENGHT_ENTRY2 (3, adVarChar, m_szLastName, sizeof (m_szLastName), lLastNameStatus, TRUE)
ADO_FIXED_LENGTH_ENTRY (4, adDate, m_dtBirdthdate,lBirthdateStatus, TRUE)
ADO_FIXED_LENGTH_ENTRY (5, adBoolean, m_bSendCard, lSendCardStatus, TRUE)
END_ADO_BINDING()

public:
LONG m_lAddressID;
ULONG lAddressIDStatus;

CHAR m_szFirstName[51];
ULONG lFirstNameStatus;

CHAR m_szLastName[51];
ULONG lLastNameStatus;

DATE m_dtBirthdate;
ULONG lBirthdateStatus;

VARIANT_BOOL m_bSendCard;
ULONG lSendCardStatus;
};


In diesem Teil der msado15.tlh erscheint dann die Meldung. (Nur ein Auszug daraus)

_variant_t Filter;
__declspec(property(get=GetSort,put=PutSort))
_bstr_t Sort;
__declspec(property(get=GetAbsolutePosition,put=PutAbsolutePosition))
PositionEnum_Param AbsolutePosition;
__declspec(property(get=GetBOF))
VARIANT_BOOL BOF;
__declspec(property(get=GetBookmark,put=PutBookmark))
_variant_t Bookmark;
__declspec(property(get=GetCacheSize,put=PutCacheSize))
long CacheSize;
__declspec(property(get=GetCursorType,put=PutCursorType))
enum CursorTypeEnum CursorType;
__declspec(property(get=GetEOF))
VARIANT_BOOL EOF; <-------------------------------Darauf verweist die Fehlermeldung
__declspec(property(get=GetAbsolutePage,put=PutAbsolutePage))
PositionEnum_Param AbsolutePage;
__declspec(property(get=GetLockType,put=PutLockType))
enum LockTypeEnum LockType;
__declspec(property(get=GetMaxRecords,put=PutMaxRecords))
ADO_LONGPTR MaxRecords;
__declspec(property(get=GetRecordCount))
ADO_LONGPTR RecordCount;

//
// Wrapper methods for error-handling
//




Wer kann mir helfen oder mir ein kleines Bsp für einen funktionierenden Code zukommen lassen?
Schon jetzt Danke für eure Hilfe

Dieser Post wurde am 09.07.2003 um 10:06 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.07.2003, 10:08 Uhr
ao

(Operator)


Ich verstehe nicht, wieso das Ding überhaupt noch EOF heißt, wo doch oben ein

Code:
rename ("EOF","adoEOF")


steht. Hast du schon mal ein RebuildAll auf dem Projekt versucht? Oder erzwing mal das Neu-Importieren, indem du im Projektverzeichnis alle .tlh- und .tli-Files löschst.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.07.2003, 10:22 Uhr
~Schandi1860
Gast


Hab ich gerade versucht. Aber es kommt wieder die selbe Fehlermeldung. Hab es mal auskommentiert, dann kommen ein paar Fehler weniger. Aber trotzdem nicht Sinn der Sache. Komischerweise hab ich mich genau an die Anweisungen in dem Buch gehalten. Hab auch alles kontrolliert. Es stimmt alles überein. Es sollte funktionieren aber es tuts eben nicht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.07.2003, 10:40 Uhr
Schandi1860



www.mut.de/media_remote/buecher/VCPLUS6/data/kap15.htm


Hier die Adresse von dem Kapitel das ich zur Zeit bearbeite. Dort ist auch der Code vollständig aufgelistet.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.07.2003, 11:37 Uhr
ao

(Operator)


Aaargh! Sieht dein Sourcecode wirklich so aus?

Code:
#import "..."
rename (...)


Ich meine, mit Zeilenschaltung zwischen dem DLL-Namen und dem "rename"?
Das muß auf einer Zeile stehen, sonst funktionierts nicht richtig. Oder die Zeile muß mit '\' umgebrochen werden, also so:

Code:
#import "..." \
rename (...)


Achtung: Der Backslash muß das letzte Zeichen auf der Zeile sein, dahinter darf nichts mehr kommen, auch keine Blanks und kein Kommentar.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.07.2003, 12:11 Uhr
Schandi1860



Die Fehleranzahl ist erheblich besser! Aber immer noch nicht gut.
Glaub das ist ein ******* Buch. Nicht gerade was für Anfänger

Hast Du dafür auch noch nen Tipp?



:\vcp21\programme\tag15\dbado\dbado\customrs.h(6) : error C2059: Syntaxfehler : ';'
c:\vcp21\programme\tag15\dbado\dbado\debug\msado15.tlh(409) : warning C4146: Einem vorzeichenlosen Typ wurde ein unaerer Minus-Operator zugewiesen; das Ergebnis ist weiterhin vorzeichenlos
DbAdo.cpp
c:\vcp21\programme\tag15\dbado\dbado\customrs.h(6) : error C2059: Syntaxfehler : ';'
c:\vcp21\programme\tag15\dbado\dbado\debug\msado15.tlh(409) : warning C4146: Einem vorzeichenlosen Typ wurde ein unaerer Minus-Operator zugewiesen; das Ergebnis ist weiterhin vorzeichenlos
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : error C2259: "IADORecordBinding" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
c:\programme\microsoft visual studio\vc98\include\icrsint.h(182) : Siehe Deklaration von 'IADORecordBinding'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IUnknown::QueryInterface(const struct _GUID &,void ** )' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\unknwn.h(109) : Siehe Deklaration von 'QueryInterface'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'unsigned long __stdcall IUnknown::AddRef(void)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\unknwn.h(113) : Siehe Deklaration von 'AddRef'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'unsigned long __stdcall IUnknown::Release(void)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\unknwn.h(115) : Siehe Deklaration von 'Release'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IADORecordBinding::BindToRecordset(class CADORecordBinding *)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\icrsint.h(185) : Siehe Deklaration von 'BindToRecordset'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IADORecordBinding::AddNew(class CADORecordBinding *)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\icrsint.h(186) : Siehe Deklaration von 'AddNew'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IADORecordBinding::Update(class CADORecordBinding *)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\icrsint.h(187) : Siehe Deklaration von 'Update'
DbAdoDoc.cpp
c:\vcp21\programme\tag15\dbado\dbado\customrs.h(6) : error C2059: Syntaxfehler : ';'
c:\vcp21\programme\tag15\dbado\dbado\debug\msado15.tlh(409) : warning C4146: Einem vorzeichenlosen Typ wurde ein unaerer Minus-Operator zugewiesen; das Ergebnis ist weiterhin vorzeichenlos
c:\vcp21\programme\tag15\dbado\dbado\customrs.h(6) : error C2059: Syntaxfehler : ';'
c:\vcp21\programme\tag15\dbado\dbado\customrs.h(11) : error C2011: 'CCustomRs' : 'class'-Typ-Neudefinition
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : error C2259: "IADORecordBinding" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
c:\programme\microsoft visual studio\vc98\include\icrsint.h(182) : Siehe Deklaration von 'IADORecordBinding'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IUnknown::QueryInterface(const struct _GUID &,void ** )' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\unknwn.h(109) : Siehe Deklaration von 'QueryInterface'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'unsigned long __stdcall IUnknown::AddRef(void)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\unknwn.h(113) : Siehe Deklaration von 'AddRef'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'unsigned long __stdcall IUnknown::Release(void)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\unknwn.h(115) : Siehe Deklaration von 'Release'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IADORecordBinding::BindToRecordset(class CADORecordBinding *)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\icrsint.h(185) : Siehe Deklaration von 'BindToRecordset'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IADORecordBinding::AddNew(class CADORecordBinding *)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\icrsint.h(186) : Siehe Deklaration von 'AddNew'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IADORecordBinding::Update(class CADORecordBinding *)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\icrsint.h(187) : Siehe Deklaration von 'Update'
C:\VCP21\Programme\Tag15\DbAdo\DbAdo\DbAdoDoc.cpp(56) : error C2679: Binaerer Operator '=' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'const int' akzeptiert (oder keine geeignete Konvertierung moeglich)
C:\VCP21\Programme\Tag15\DbAdo\DbAdo\DbAdoDoc.cpp(75) : error C2819: Der Typ 'IADORecordBinding' hat keinen ueberladenen Elementoperator '->'
c:\programme\microsoft visual studio\vc98\include\icrsint.h(182) : Siehe Deklaration von 'IADORecordBinding'
C:\VCP21\Programme\Tag15\DbAdo\DbAdo\DbAdoDoc.cpp(75) : error C2227: Der linke Teil von '->BindToRecordset' muss auf Klasse/Struktur/Union zeigen
C:\VCP21\Programme\Tag15\DbAdo\DbAdo\DbAdoDoc.cpp(82) : error C2039: 'RefreshBoundData' : Ist kein Element von 'CDbAdoView'
c:\vcp21\programme\tag15\dbado\dbado\dbadoview.h(13) : Siehe Deklaration von 'CDbAdoView'
DbAdoView.cpp
c:\vcp21\programme\tag15\dbado\dbado\customrs.h(6) : error C2059: Syntaxfehler : ';'
c:\vcp21\programme\tag15\dbado\dbado\debug\msado15.tlh(409) : warning C4146: Einem vorzeichenlosen Typ wurde ein unaerer Minus-Operator zugewiesen; das Ergebnis ist weiterhin vorzeichenlos
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : error C2259: "IADORecordBinding" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
c:\programme\microsoft visual studio\vc98\include\icrsint.h(182) : Siehe Deklaration von 'IADORecordBinding'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IUnknown::QueryInterface(const struct _GUID &,void ** )' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\unknwn.h(109) : Siehe Deklaration von 'QueryInterface'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'unsigned long __stdcall IUnknown::AddRef(void)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\unknwn.h(113) : Siehe Deklaration von 'AddRef'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'unsigned long __stdcall IUnknown::Release(void)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\unknwn.h(115) : Siehe Deklaration von 'Release'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IADORecordBinding::BindToRecordset(class CADORecordBinding *)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\icrsint.h(185) : Siehe Deklaration von 'BindToRecordset'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IADORecordBinding::AddNew(class CADORecordBinding *)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\icrsint.h(186) : Siehe Deklaration von 'AddNew'
c:\vcp21\programme\tag15\dbado\dbado\dbadodoc.h(56) : warning C4259: 'long __stdcall IADORecordBinding::Update(class CADORecordBinding *)' : Rein virtuelle Funktion wurde nicht definiert
c:\programme\microsoft visual studio\vc98\include\icrsint.h(187) : Siehe Deklaration von 'Update'
Generieren von Code...
Fehler beim Ausführen von cl.exe.

DbAdo.exe - 13 Fehler, 22 Warnung(en) >:( >:( :(

Dieser Post wurde am 09.07.2003 um 15:24 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
09.07.2003, 13:16 Uhr
ao

(Operator)


Sehr viele Fälle von "Rein virtuelle Funktion wurde nicht definiert". Das sind Funktionen, die in irgendeinem Interface aufgeführt wurden, aber nicht mit Leben gefüllt wurden, d.h. es gibt keine "richtige" Definition (ohne virtual ... PURE oder virtual ... = 0) dafür.

Entweder hast du die bisher vergessen oder deine Ableitungshierarchie stimmt nicht. Poste mal den Definitionsteil deiner Top-Level-Klasse.

(Wenn dir das alles überhaupt nichts sagt, solltest du noch mal ein paar Kapitel zurückgehen.)

In customrs.h gibts in Zeile 6 (oder in der Umgebung) einen Syntaxfehler, keine Ahnung, was.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
14.07.2003, 07:32 Uhr
AlfameisterT



kann dir leider nicht weiterhelfen,
aber ich hätte da mal eine andere Frage dazu,
was muss man tun damit man dieses Steuerelement hat, ich konnte dieses nirgends finden, die MSDN hat mir auch nicht weiter geholfen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
14.07.2003, 07:53 Uhr
~Schandi1860
Gast


Klicke mit deiner rechten Maustaste in deiner Entwurfsansicht, dort öffnet sich eine Dialogbox. Dort ist auch der Eintrag ActiveX-Steuerelement einfügen!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
15.07.2003, 20:53 Uhr
AlfameisterT




ich habe das Steuerelement garnicht, wollte auch diesen einen Tag in dem 21Tage Ding machen, da wird ja schon jeder klick beschrieben, aber ich habe dieses Steuerelement nicht. Muss man sich das erst irgendwo registrieren, extra herunterladen...?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: