返回首页

gbase数据、南大通用产品文档:GBase8agbase_stmt_reset

更新日期:2024年09月11日

 摘要:
在客户端和服务器上,将预处理语句复位为完成准备后的状态。主要用于
复位用gbase_stmt_send_long_data()发出的数据。
对于语句,
任何已打开的光
标将被关闭。
要想重新准备用于另一查询的语句,可使用gbase_stmt_prepare()。

GBase 8a 程序员手册C API 篇


- 64 -

南大通用数据技术股份有限公司
 语法:
gs_bool gbase_stmt_reset(GBASE_STMT * stmt);
 参数:
 返回值:
如果语句成功复位,返回0。如果出现错误,返回非0 值。
 错误
CR_COMMANDS_OUT_OF_SYNC
以不恰当的顺序执行了命令。
CR_SERVER_GONE_ERROR

GBase 服务器不可用。
CR_SERVER_LOST


查询过程中,与服务器的连接丢失。
CR_UNKNOWN_ERROR


出现未知错误。

10009 |
+---------------------+-----------+--------+
5 rows in set

当传递给 rleapyear() 函数的是闰年时,它返回 1(TRUE),当不是时,它返回 0
(FALSE)。

语法
mint rleapyear(year)
mint year;
year
整数。

用法
参数 year 必须是日期的年份组件,而不是该日期本身。您必须必须以完整的形式
(2007),而不是缩写的形式(07)来表达 year。

返回代码
1
该年份为闰年。
0
该年份不是闰年。
示例

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 890 -
demo 目录在 rleapyear.ec 文件中包含此样例程序。
/*
* rleapyear.ec *

The following program accepts a date entered from the console and stores this date into an
int4, which stores the date in an internal format. It then converts the internal format into an array
of three short integers that contain the month, day, and year portions of the date. It then tests the
year value to see if the year is a leap year.
*/

#include

main()
{
int4 i_date;
mint errnum;
short mdy_array[3];
char date[20];
mint x;

static char fmtstr[9] = "mmddyyyy";

printf("RLEAPYEAR Sample Program running.\n\n");

/* Allow user to enter a date */
printf("Enter a date as a single string, month.day.year\n");
gets(date);

printf("\nThe date string is %s.\n", date);

/* Put entered date in internal format */
if (x = rdefmtdate(&i_date, fmtstr, date))
printf("Error %d on rdefmtdate conversion\n", x);
else

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 891 -
{

/* Convert internal format into a MDY array */
if ((errnum = rjulmdy(i_date, mdy_array)) == 0)
{
/* Check if it is a leap year */
if (rleapyear(mdy_array[2]))
printf("%d is a leap year\n", mdy_array[2]);
else
printf("%d is not a leap year\n", mdy_array[2]);
}
else
printf("rjulmdy() call failed with error %d", errnum);
}

printf("\nRLEAPYEAR Sample Program over.\n\n");
}
输出
RLEAPYEAR Sample ESQL Program running.

Enter a date as a single string, month.day.year
10.12.07

The date string is 10.12.07.
2007 is not a leap year

RLEAPYEAR Sample Program over.