数据库中的时间如何在程序中显示出来?(pro*c,)

frontpage 2002-11-27 04:14:40
要求,从数据库中提取birth_date,然后在程序中显示出来,(用pro*c)
....
我不知道数据库中的date类型,如何才能对应c中能处理的类型;
最后printf(".."...)出来;
昨天问过这个问题,to_char()我没成功,
我的几个句子;
char birth[24];
.....
... emp cursor for select to_char(birth_date,"yymmmmm") from employee;
for(; ;)
{
.....not found....
fetch emp into :birth;
printf("%s",birth);/* 我想要这个结果,*/
}
..........but i failed,希望高手指点一下
...全文
70 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangtenyu 2002-11-27
  • 打赏
  • 举报
回复
#include "include.h"

EXEC SQL INCLUDE SQLCA;
EXEC SQL INCLUDE ORACA.H;
EXEC ORACLE OPTION(RELEASE_CURSOR=YES);
int main()
{
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR thedate[20];
EXEC SQL END DECLARE SECTION;

if (ConnectDB() == -1)
{
printf("module *** ConnectDB Error.\n");
return SNY_NOTOK;
}

EXEC SQL WHENEVER SQLERROR GOTO error;
EXEC SQL WHENEVER NOT FOUND GOTO notFound;

EXEC SQL DECLARE cur CURSOR FOR
SELECT time_end FROM log_ml_sp ORDER BY name;

EXEC SQL OPEN cur;

memset((void*)&thedate, 0, sizeof(thedate));
EXEC SQL FETCH cur INTO :thedate;

while(sqlca.sqlcode==0)
{
printf("date:%s\n", thedate.arr);
memset((void*)&thedate, 0, sizeof(thedate));
EXEC SQL FETCH cur INTO :thedate;
}
notFound:
EXEC SQL CLOSE cur;

printf("is ok!\n\n");

if (CloseDB() == -1)
{
printf("module *** CloseDB Error.\n");
return SNY_NOTOK;
}
return 0;
error:
printf("\nError: %.70s \n",sqlca.sqlerrm.sqlerrmc);


if (CloseDB() == -1)
{
printf("module *** CloseDB Error.\n");
return SNY_NOTOK;
}
return 0;
}

17,381

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧