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

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ プログラミング » Embedded SQL » Embedded SQL を使用して long 値を送信し、取得する方法

 

静的 SQL を使用した LONG データの送信

ESQL アプリケーションから静的 SQL を使用して、LONG 値をデータベースに送信します。

前提条件

この作業を実行するための前提条件はありません。

 ♦ タスク
  1. 必要に応じて、DECL_LONGVARCHAR、DECL_LONGNVARCHAR、または DECL_LONGBINARY 型のホスト変数を宣言します。

  2. NULL を送信する場合は、インジケータ変数を負の値に設定します。

  3. ホスト変数構造体の stored_len フィールドを、array フィールド内のデータのバイト数に設定します。

  4. カーソルを開くか、文を実行して、データを送信します。

結果

Embedded SQL アプリケーションでの、データベースへの LONG 値の送信準備ができています。

次のコードフラグメントは、静的 Embedded SQL を使用して LONG VARCHAR データを送信するメカニズムを示しています。実際のアプリケーションではありません。



#define DATA_LEN 12800
EXEC SQL BEGIN DECLARE SECTION;
// SQLPP initializes longdata.array_len
DECL_LONGVARCHAR(128000) longdata;
EXEC SQL END DECLARE SECTION;

void set_test_var()
{
  // init longdata for sending data
  memset( longdata.array, 'a', DATA_LEN );
  longdata.stored_len = DATA_LEN;

  printf( "Setting test_var to %d a's\n", DATA_LEN );
  EXEC SQL SET test_var = :longdata;
}

 参照