The following is a pseudo-code example of how an application can store data in Oracle Rdb lists using list cursors. The file SQRDB.H included on the installation disk contains the driver specific constants used in the SQLSetConnectOption and SQLSetStmtOption calls. /* Connect to data source */ SQLAllocEnv(&henv) SQLAllocConnect(henv, &hdbc) SQLConnect(hdbc, ...) /* Turn off auto-commit */ SQLSetConnectOption(hdbc, SQL_AUTOCOMMIT, FALSE) /* Specify that the application will use list cursors for blob access */ SQLSetConnectOption(hdbc, SQRDB_BLOB_ACCESS, SQRDB_BLOB_ACCESS_WITH_LISTS) /* Create a table that contains a list column */ SQLAllocStmt(hdbc, &hstmt0) SQLExecDirect( hstmt0, "create table EMP (EMP_ID char(5), ADDRESS list of byte varying(25))", SQL_NTS) /* Open an insert only cursor on the table EMP */ SQLAllocStmt(hdbc, &hstmt1) SQLSetCursorName(hstmt1, "C1", SQL_NTS) SQLSetStmtOption(hstmt1, SQRDB_CURSOR_TYPE, SQRDB_CURSOR_INSERT) SQLExecDirect( hstmt1, "select EMP_ID, ADDRESS from EMP", SQL_NTS) /* Insert one row into the table EMP */ SQLAllocStmt(hdbc, &hstmt2) SQLExecDirect( hstmt2, "insert into cursor C1 (EMP_ID) values('00167')", SQL_NTS) /* Open an insert only cursor on the ADDRESS column of table EMP */ SQLAllocStmt(hdbc, &hstmt3) SQLSetCursorName(hstmt3, "ADDRESS_CUR", SQL_NTS) SQLSetStmtOption(hstmt3, SQRDB_CURSOR_TYPE, SQRDB_CURSOR_INSERT) SQLExecDirect( hstmt3, "select ADDRESS where current of C1", SQL_NTS) /* Insert values into the ADDRESS column */ SQLAllocStmt(hdbc, &hstmt4) SQLExecDirect( hstmt4, "insert into cursor ADDRESS_CUR values('42 Main Street')", SQL_NTS) SQLExecDirect( hstmt4, "insert into cursor ADDRESS_CUR values('Dayton, OH 45431')", SQL_NTS) /* Commit the transaction */ SQLTransact(henv, hdbc, SQL_COMMIT)