クエリーで名前付きセットを戻します。
ESS_FUNC_M EssMdxGetNamedSets(
ESS_HCTX_T hCtx,
ESS_PULONG_T pulCount,
ESS_PPSTR_T ppNames,
ESS_PLONG_T *ppTypes);
|
パラメータ |
タイプ |
説明 |
|---|---|---|
|
hCtx |
入力 |
コンテキスト・ハンドル。 |
|
pulCount |
出力 |
クエリーで戻された名前付きセットのカウント。 |
|
ppNames |
出力 |
名前付きセットの配列。 ppNamesに対して割り当てられたメモリーは、EssFree()を使用して解放する必要があります。 |
|
*ppTypes |
出力 |
名前付きセット・タイプへのポインタ: ESS_MDX_NAMEDSET_TYPE_SESSION。 |
戻り値は、pulCountの名前付きセット数、ppNamesの名前付きセットおよびppTypesの名前付きセットのタイプです。
この関数を使用するのに、特別な権限は必要ありません。
void TestGetNamedSets()
{
ESS_STS_T sts = ESS_STS_NOERR;
ESS_STR_T fileNames[2];
ESS_CHAR_T qry[2][MAXQRYLEN];
FILE *fileHandle;
char *s;
int length, e, i;
ESS_ULONG_T ulCount, j;
ESS_PSTR_T pNames;
ESS_PLONG_T pTypes;
fileNames[0] = "D:\\testarea\\MDXAPI\\query3.txt";
fileNames[1] = "D:\\testarea\\MDXAPI\\query4.txt";
for(i = 0; i < 2; i++)
{
fileHandle = fopen(fileNames[i], "r");
if (!(fileHandle = fopen(fileNames[i], "r")))
{
printf("\nUnable to open file: %s\n", fileNames[i]);
return;
}
else
{
s = qry[i];
length = MAXQRYLEN;
fgets(s, length, fileHandle);
if ((e = ferror(fileHandle)) != 0)
{
printf("fgets error %d\n", e);
exit((int) e);
}
fclose(fileHandle);
}
printf("\nThe query[%d]: \n%s\n", i, qry[i]);
}
ulCount = 0;
sts = EssMdxGetNamedSets(hCtx, &ulCount, &pNames, &pTypes);
printf("EssMdxGetNamedSets sts: %ld\n",sts);
for(j = 0; j < ulCount; j++)
{
printf("\tpNames[%d]: %s\n", j, pNames[j]);
printf("\tpTypes[%d]: %d\n", j, pTypes[j]);
printf("\n");
}
sts = EssFree(hInst, (ESS_PVOID_T)pNames);
}