int main(void) { OCI_Date *d1, *d2; char str[SIZE_STR+1]; if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT)) return EXIT_FAILURE; d1 = OCI_DateCreate(NULL); d2 = OCI_DateCreate(NULL); strcpy(str, "13041978 20:20:12"); OCI_DateFromText(d1, str, "DDMMYYYY HH24:MI:SS"); OCI_DateToText(d1, "DD/MM/YYYY HH24:MI:SS", SIZE_STR, str); printf("\nDate is %s\n", str); OCI_DateSysDate(d1); OCI_DateToText(d1, "DD/MM/YYYY HH24:MI:SS", SIZE_STR, str); printf("\nSysdate is %s\n", str); OCI_DateAddDays(d1, 5); OCI_DateAddMonths(d1, 2); OCI_DateToText(d1, "DD/MM/YYYY HH24:MI:SS", SIZE_STR, str); printf("\nDate + 5 days and 2 months is %s\n", str); OCI_DateAssign(d2, d1); OCI_DateLastDay(d1); OCI_DateToText(d1, "DD/MM/YYYY HH24:MI:SS", SIZE_STR, str); printf("\nLast day of the month : %s\n", str); printf("\nNumber of days until the end of the months : %i\n", OCI_DateDaysBetween(d1, d2)); OCI_DateFree(d1); OCI_DateFree(d2); OCI_Cleanup(); return EXIT_SUCCESS; }
int main(void) { OCI_Connection *cn; OCI_Statement *st; int i; if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT)) return EXIT_FAILURE; cn = OCI_ConnectionCreate("db", "usr", "pwd", OCI_SESSION_DEFAULT); st = OCI_StatementCreate(cn); OCI_SetBindAllocation(st, OCI_BAM_INTERNAL); OCI_Prepare(st, "insert into test_array values (:tab)"); OCI_BindArraySetSize(st, NB_ELEMS); OCI_BindArrayOfDates(st, ":tab", NULL, 0); { OCI_Date ** tab = (OCI_Date **) OCI_BindGetData(OCI_GetBind(st, 1)); for (i=0; i < NB_ELEMS; i++) { OCI_DateSysDate(tab[i]); } OCI_Execute(st); } OCI_Commit(cn); OCI_Cleanup(); return EXIT_SUCCESS; }