クエリーで名前付きセットを戻します。
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); }