Re: Dynamic Sql Q (esqlc)
Posted in 1996
Try it.
>
$ struct sqlda desc_area; /* Sql descriptor area */
> $ char sql_stmt[MAXSQLSTMT];
> char *char_ptr;
> int i;>
> strcpy(sql_stmt, "INSERT INTO rmttncadv (rmttncadvsrl, rx_nmbr, dt_flld)");
> strcat(sql_stmt, " VALUES ( 0, ?, ? );" );
>
> $ PREPARE stmt_id FROM $sql_stmt;
>
> $ DESCRIBE stmt_id INTO desc_area;
>
> char_ptr = (char *) malloc( 7+1 );
> sprintf( char_ptr, "1234567" );
desc_area.sqlvar[0].sqllen += 1;
desc_area.sqlvar[0].sqlind = NULL;
desc_area.sqlvar[0].sqldata = char_ptr;
>
> char_ptr = (char *) malloc( 8+1 );
> sprintf( char_ptr, "01-01-99" );
desc_area.sqlvar[1].sqllen += 1;
desc_area.sqlvar[1].sqlind = NULL;
desc_area.sqlvar[1].sqldata = char_ptr;
>
> $ EXECUTE stmt_id USING DESCRIPTOR desc_area;
>
>
> for ( i=0;i < 3; i++ )
> free (desc_area->sqlvar[i].sqldata);
>
Andrew