EssMdxGetNamedSets

クエリーで名前付きセットを戻します。

構文

      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の名前付きセットのタイプです。

Access

この関数を使用するのに、特別な権限は必要ありません。

      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);
}