This example shows an array INSERT statement, for an example of an array query statement, refer to SQLMoreResults - Determine If There Are More Result Sets.
/* From CLI sample custin.c */ /* ... */ SQLCHAR * stmt = "INSERT INTO CUSTOMER ( Cust_Num, First_Name, Last_Name ) " "VALUES (?, ?, ?)" ; SQLINTEGER Cust_Num[] = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, } ; SQLCHAR First_Name[][31] = { "EVA", "EILEEN", "THEODORE", "VINCENZO", "SEAN", "DOLORES", "HEATHER", "BRUCE", "ELIZABETH", "MASATOSHI", "MARILYN", "JAMES", "DAVID", "WILLIAM", "JENNIFER", "JAMES", "SALVATORE", "DANIEL", "SYBIL", "MARIA", "ETHEL", "JOHN", "PHILIP", "MAUDE", "BILL", } ; SQLCHAR Last_Name[][31] = { "SPENSER", "LUCCHESI", "O'CONNELL", "QUINTANA", "NICHOLLS", "ADAMSON", "PIANKA", "YOSHIMURA", "SCOUTTEN", "WALKER", "BROWN", "JONES", "LUTZ", "JEFFERSON", "MARINO", "SMITH", "JOHNSON", "PEREZ", "SCHNEIDER", "PARKER", "SMITH", "SETRIGHT", "MEHTA", "LEE", "GOUNOT", } ; /* ... */ /* Prepare the statement */ rc = SQLPrepare( hstmt, stmt, SQL_NTS ) ; CHECK_HANDLE( SQL_HANDLE_STMT, hstmt, rc ) ; rc = SQLSetStmtAttr( hstmt, SQL_ATTR_PARAMSET_SIZE, ( SQLPOINTER ) row_array_size, 0 ) ; CHECK_HANDLE( SQL_HANDLE_STMT, hstmt, rc ) ; rc = SQLBindParameter( hstmt, 1, SQL_PARAM_INPUT, SQL_C_SLONG, SQL_INTEGER, 0, 0, Cust_Num, 0, NULL ) ; CHECK_HANDLE( SQL_HANDLE_STMT, hstmt, rc ) ; rc = SQLBindParameter( hstmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, 31, 0, First_Name, 31, NULL ) ; CHECK_HANDLE( SQL_HANDLE_STMT, hstmt, rc ) ; rc = SQLBindParameter( hstmt, 3, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, 31, 0, Last_Name, 31, NULL ) ; CHECK_HANDLE( SQL_HANDLE_STMT, hstmt, rc ) ; rc = SQLExecute( hstmt ) ; CHECK_HANDLE( SQL_HANDLE_STMT, hstmt, rc ) ; printf( "Inserted %ld Rows\n", row_array_size ) ;