ODBC -> Daten aus Datenbank

Silvercreast

Erfahrenes Mitglied
Code:
void DatabaseConnection::LoadDatabase(CClientData &parameters)
{
	CDatabase UserData;
	CString DB_File = "Fuhrpark";
	CString sDsn;
	CString sDriver = "MICROSOFT ACCESS DRIVER (*.mdb)";
	CString SqlString;

	// The ODBC Connection String

	sDsn.Format("ODBC;DRIVER={%s};DSN='Fuhrpark';DBQ=%s",sDriver,DB_File);

	TRY
	{
		// Open the database
		UserData.Open( "Fuhrpark" );
		
		// Allocate the recordset
		CRecordset recset( &UserData );

		// Build the SQL statement
	//	SqlString =  "SELECT ID, Fahrzeug,Benutzer,Fahrtziel,Km-StandVorher, Km-StandNachher,Datum,VRückkehr,TRückkehr,Mängel"
		//		"FROM tbl_Vermietung";

		SqlString = "SELECT ID, Benutzername,Passwort, Rechte"
			"FROM tbl_Benutzerliste";

		// Execute the query
		recset.Open(CRecordset::forwardOnly,SqlString,CRecordset::readOnly);

		// Loop through each record
			CString Benutzername;
			CString Passwort;
			CString Rechte;

		while( !recset.IsEOF() )	
		{
			recset.GetFieldValue("Benutzername",Benutzername);
			recset.GetFieldValue("Passwort",Passwort);
			recset.GetFieldValue("Rechte",Rechte);

			parameters.Driver	= Benutzername;
			parameters.Password = Passwort;
			parameters.Status	= Rechte;

			CDataVector.push_back( parameters );
			

			// go to next record
			recset.MoveNext();
		}

		// Close the database
		UserData.Close();

	}
	CATCH(CDBException, e)
	{
			// If a database exception occured, show error msg
			AfxMessageBox("Database error: "+e->m_strError);
	}

	END_CATCH;

	}

Kann mir vielleicht jemand sagen wieso ich diese Fehlermeldungen bekomme:

C:\Dokumente und Einstellungen\Dors\Desktop\C++\EchoServer\DatabaseConnection.cpp(209) : error C2143: Syntaxfehler : Fehlendes ';' vor '.'

C:\Dokumente und Einstellungen\Dors\Desktop\C++\EchoServer\DatabaseConnection.cpp(209) : error C2143: Syntaxfehler : Fehlendes ';' vor '.'

Wenn ich dann auf die Fehlermeldung klicke dann komme ich zur Orange gekennzeichneten Stelle. ICh weiss net was daran falsch ist. Ich habe alle include Dateien eingebunden.
 
Das Problem habe ich nun gelöst nun habe ich ein anderes Problem,

mit meiner ODBC Verbindung und zwar wenn ich diesen ODBC Code zum laden von Daten aus einer Datenbank(ACCESS) ausführe

Code:
Code:
std::string DatabaseConnection::GetUserLevel(std::string UserName, std::string Password)
{
    CDatabase UserData;
    CString DB_File = "Fuhrpark";
    CString sDsn;
    CString sDriver = "MICROSOFT ACCESS DRIVER (*.mdb)";
    CString SqlString;

    // The ODBC Connection String

//    sDsn.Format("ODBC;DRIVER={%s};DSN='Fuhrpark';DBQ=%s",sDriver,DB_File);

    TRY
    {
        // Open the database
        UserData.Open( "Fuhrpark" );
       
        // Allocate the recordset
        CRecordset recset( &UserData );

        SqlString = "SELECT ID, Benutzername,Passwort, Rechte FROM tbl_Benutzerliste WHERE Benutzername = '";
        SqlString += UserName.c_str();
        SqlString += "'";

        // Execute the query
        recset.Open(AFX_DB_USE_DEFAULT_TYPE,SqlString,CRecordset::none   );

        CString Benutzername;
        CString Passwort;
        CString Rechte;
        CString Personalnummer;

        recset.GetFieldValue("Benutzername",Benutzername);
        recset.GetFieldValue("Passwort",Passwort);
        recset.GetFieldValue("Rechte",Rechte);
        recset.GetFieldValue("Personalnummer",Personalnummer);

    /*    parameters.Driver            = Benutzername;
        parameters.Password            = Passwort;
        parameters.Rights            = Rechte;
        parameters.PersonalNumber    = Personalnummer;*/

           
       
        // go to next record
        recset.MoveNext();


        // Close the database
        UserData.Close();

    }
    CATCH(CDBException, e)
    {
            // If a database exception occured, show error msg
            AfxMessageBox("Database error: "+e->m_strError);
    }

    END_CATCH;



   
    return SqlString;

}


bekomme ich immer diese Fehlermeldung:
Database error: Datensätze können nicht gelesen werden. Keine Leseberechtigung auf tbl_Benutzerliste

Woher bekomme ich nun diese Leseberechtigung, in meiner Access Datenbank habe ich nichts der gleichen gefunden.
 
Zurück