Re: OCI Fetch and Dynamically Allocated Local Variables

From: Jeremy Bettis <spam1130_at_hksys.com>
Date: 2000/03/21
Message-ID: <rGPB4.24$0P3.86_at_newsfeed.slurp.net>#1/1


This is easy, here is some sample code. This comes before the define.

                  rc = OCIParamGet(statement, OCI_HTYPE_STMT, error,
(dvoid**)&(columns[i].column), i+1);
                  if (OCI_SUCCESS != rc) { goto error; }
                  rc = OCIAttrGet(columns[i].column, OCI_DTYPE_PARAM,
&(columns[i].type), 0, OCI_ATTR_DATA_TYPE, error);
                  if (OCI_SUCCESS != rc) { goto error; }
                  rc = OCIAttrGet(columns[i].column, OCI_DTYPE_PARAM,
&datalenTmp, 0, OCI_ATTR_DATA_SIZE, error);
                  columns[i].datalen = datalenTmp;
                  if (OCI_SUCCESS != rc) { goto error; }
                  rc = OCIAttrGet(columns[i].column, OCI_DTYPE_PARAM,
&(columns[i].name), &(columns[i].namelen), OCI_ATTR_NAME, error);
                  if (OCI_SUCCESS != rc) { goto error; }
                  rc = OCIAttrGet(columns[i].column, OCI_DTYPE_PARAM,
&(columns[i].precision), 0, OCI_ATTR_PRECISION, error);
                  if (OCI_SUCCESS != rc) { goto error; }
                  rc = OCIAttrGet(columns[i].column, OCI_DTYPE_PARAM,
&(columns[i].scale), 0, OCI_ATTR_SCALE, error);
                  if (OCI_SUCCESS != rc) { goto error; }

--
Jeremy Bettis
jeremy_at_hksys.com

"Jason Lee" <jlee_at_rri-medtech.com> wrote in message
news:38d7a8b3.63926070_at_news.ionet.net...

> Here at the office, we've encapsulated DB connectivity in a class
> called clsDatabase. From this base class, we have derived
> clsODBCDatabase. I'm currently in the process of writing
> clsOCIDatabase, and I've hit a couple of snags. Using ODBC, to get
> data back from a query, one simply has to call SQLFetch(), then
> repeatedly call SQLGetData() to return a column from the row. This
> pretty simple and straight forward, but, as far as I know, there is
> not a similar method in OCI. [...etc...]
Received on Tue Mar 21 2000 - 00:00:00 CET

Original text of this message