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 Embedded SQL entwickeln » Hostvariablen verwenden

 

Hostvariablen deklarieren

Legen Sie die Hostvariable fest, indem Sie sie in einen Deklarationsabschnitt stellen. Für die Deklaration der Hostvariable umschließen Sie die normalen Deklarationen der C-Variable mit den Anweisungen BEGIN DECLARE SECTION und END DECLARE SECTION.

Wenn Sie eine Hostvariable in einer SQL-Anweisung verwenden, müssen Sie dem Variablennamen einen Doppelpunkt (:) als Präfix voranstellen, sodass der Präprozessor erkennt, dass Sie sich auf eine (deklarierte) Hostvariable beziehen und ihn von anderen in der Anweisung zulässigen Bezeichnern unterscheiden kann.

Sie können Hostvariablen anstelle von Konstanten in einer SQL-Anweisung einsetzen. Wenn der Datenbankserver den Befehl ausführt, wird der Wert der Hostvariable aus den einzelnen Hostvariablen gelesen bzw. in sie geschrieben. Hostvariablen können nicht anstelle von Tabellen- oder Spaltennamen benutzt werden.

Der SQL-Präprozessor durchsucht nur den C-Programmcode, der innerhalb des Deklarationsabschnitts steht. Initialisierer für Variablen sind in einem Deklarationsabschnitt zulässig, während typedef-Typen und -Strukturen nicht erlaubt sind.

Das folgende Beispiel zeigt den Gebrauch von Hostvariablen für einen INSERT-Befehl. Variablen werden vom Programm belegt und dann in die Datenbank eingefügt:



/* Declare fields for personal data. */
EXEC SQL BEGIN DECLARE SECTION;
   long employee_number = 0;
   char employee_name[50];
   char employee_initials[8];
   char employee_phone[15];
EXEC SQL END DECLARE SECTION;
/* Fill variables with appropriate values. */
/* Insert a row in the database. */
EXEC SQL INSERT INTO Employee
   VALUES (:employee_number, :employee_name,
      :employee_initials, :employee_phone );