Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> What's wrong ? OCI-8 programming
When I try to get execute this function, I've got a
ORA-01405: fetched column value is NULL
And that's true: I have some null datas in the table.
I just want to print "NULL" when its NULL and continue, with the others fields.
Thanks in advance.
Eric
void PrintSELECT(char *sql) {
sword status; int i; ub4 nbcol; OCIParam *colhd; char col[256]; ub2 type[255]; char binds[256][256]; text name[256]; ub4 len; checkerr(errhp, OCIHandleAlloc( (dvoid *) envhp, (dvoid **) &stmthp, OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0)); checkerr(errhp, OCIStmtPrepare(stmthp, errhp, sql,OCI_ATTR_PARAM_COUNT, errhp));
(ub4) strlen((char *) sql),
(ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT));
checkerr(errhp,OCIStmtExecute(svchp, stmthp, errhp, (ub4) 1, (ub4) 0,
(CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DESCRIBE_ONLY));
checkerr(errhp,OCIAttrGet(stmthp, OCI_HTYPE_STMT, &nbcol, 0,
for (i=1;i<=nbcol;i++) { checkerr(errhp, OCIDefineByPos(stmthp, &defnp, errhp, i, (dvoid *) &binds[i], 255, SQLT_STR, (dvoid *) 0, (ub2 *)0, (ub2 *)0, OCI_DEFAULT)); } status = OCIStmtExecute(svchp, stmthp, errhp, (ub4) 1, (ub4) 0,
(CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DEFAULT);
while (status != OCI_NO_DATA) { checkerr(errhp,status); for (i=1;i<nbcol;i++) { printf("%s ",binds[i]); } printf("\n"); status = OCIStmtFetch(stmthp, errhp, 1, OCI_FETCH_NEXT, OCI_DEFAULT); } checkerr(errhp, OCIHandleFree((dvoid *) stmthp, OCI_HTYPE_STMT));
} Received on Tue Dec 22 1998 - 08:35:45 CST
![]() |
![]() |