Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » UltraLite - C- und C++-Programmierung » Anwendungsentwicklung » Anwendungen mit der UltraLite C++-API entwickeln

 

Mit einer Datenbank verbinden

UltraLite-Anwendungen müssen eine Verbindung zur Datenbank herstellen, bevor sie ihre Daten bearbeiten können. Dieser Abschnitt beschreibt, wie Sie sich mit einer UltraLite-Datenbank verbinden.

Die ULDatabaseManager-Klasse wird benutzt, um eine Verbindung mit einer Datenbank zu öffnen. Die ULDatabaseManager-Klasse gibt ein Nicht-Null-ULConnection-Objekt zurück, wenn eine Verbindung hergestellt wird. Verwenden Sie das ULConnection-Objekt, um die folgenden Aufgaben auszuführen:

  • Festschreiben oder Zurücksetzen von Transaktionen.

  • Synchronisieren von Daten mit einem MobiLink-Server.

  • Zugriff auf Tabellen in der Datenbank.

  • Arbeiten mit SQL-Anweisungen.

  • Verarbeitung der Fehler in Ihrer Anwendung.

Weitere Hinweise zur ULConnection-Klasse finden Sie unter ULConnection-Klasse.

 iPhone-Datenbankdatei

Der Beispielcode befindet sich im Beispielverzeichnis\UltraLite\CustDB\.

 ♦  So stellen Sie eine Verbindung mit einer UltraLite-Datenbank her
  1. Initialisieren Sie das ULDatabaseManager-Objekt und aktivieren Sie Funktionen in UltraLite mit dem folgenden Code:

    if( !ULDatabaseManager::Init() ) {
        return 0;
    }
    ULDatabaseManager::EnableAesDBEncryption();
     
    // Use ULDatabaseManager.Fini() when terminating the app.

    Weitere Hinweise zur ULDatabaseManager-Klasse finden Sie unter ULDatabaseManager-Klasse.

  2. Öffnen Sie mit dem folgenden Code eine Verbindung mit einer bestehenden Datenbank oder erstellen Sie eine neue Datenbank, wenn die angegebene Datenbankdatei nicht vorhanden ist:



    ULConnection * conn;
    ULError ulerr;
     
    conn = ULDatabaseManager::OpenConnection( "dbf=sample.udb;dbkey=aBcD1234", &ulerr );
    if( conn == NULL ) {
        if( ulerr.GetSQLCode() == SQLE_ULTRALITE_DATABASE_NOT_FOUND ) {
            conn = ULDatabaseManager::CreateDatabase( "dbf=sample.udb;dbkey=aBcD1234", &ulerr );
            if( conn == NULL ) {
                // write code that uses ulerr to determine what happened
                return 0;
            }
            // add code to create the schema for your database
        } else {
            // write code that uses ulerr to determine what happened
            return 0;
        }
    }
    assert( conn != NULL );

    In diesem Schritt deklarieren Sie ein ULError-Objekt, das Fehlerinformationen für den Fall enthält, dass die Verbindung nicht erfolgreich verlaufen ist. Weitere Hinweise zur ULError-Klasse finden Sie unter ULError-Klasse.

 Anwendungen mit mehreren Threads