Como: Desviar um objeto de conjunto de células do ADO MD usando o Visual translation from VPE for Csharp .NET

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 828279
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Este artigo descreve como percorrer um objeto de conjunto de células da (ADO MD) (Multidimensional) do Microsoft ActiveX Data Objects usando o Microsoft .NET translation from VPE for Csharp Visual.
Mais Informações
Aplicativo de exemplo que acompanha este artigo mostra como percorrer um objeto de conjunto de células do ADO MD usando o Visual translation from VPE for Csharp. NET. O aplicativo de exemplo fornece uma interface de usuário que permite que você digite uma consulta MDX (Multidimensional Expressions) em uma caixa de texto. Quando você clica no botão no aplicativo, o aplicativo recupera o objeto de conjunto de células e exibe o objeto de conjunto de células recuperado em um formato tabular.

Observação O aplicativo de exemplo assume que a consulta MDX tem pelo menos dois eixos e no máximo três eixos.

Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.

Para criar o aplicativo de exemplo, execute essas etapas:
  1. Inicie o Visual Studio NET..
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
  3. Em Project Types , clique em projetos translation from VPE for Csharp Visual .
  4. Em modelos , clique em ASP.NET Application e em seguida, clique em OK .
  5. No menu Project , clique em Adicionar referência .
  6. Na caixa de diálogo Add Reference , clique na guia COM .
  7. Em Nome do componente , clique em Microsoft ActiveX Data Objects (Multi-dimensional) 2.7 Library .

    Observação Você pode usar o ADO MD versão 2.7 ou posterior.
  8. Clique em Selecionar e, em seguida, clique em OK .
  9. Adicione um controle TextBox e um controle de botão da caixa de ferramentas para o formulário da Web WebForm1.aspx .
  10. Adicione o seguinte código ao manipulador de eventos Button1_Click :
    string query;// Assign the MDX query to a string.query = TextBox1.Text.ToString();// Create an ADO MD catalog and an ADO MD Cellset.ADOMD.Catalog oAdoMDCat = new ADOMD.CatalogClass();ADOMD.Cellset oAdoMDCellSet = new ADOMD.Cellset();try{	// Open a connection to the Analysis Server, 	// and then run the MDX query.	oAdoMDCat.let_ActiveConnection("Provider=MSOLAP.1;" + 		"Data Source=localhost;" + 		"Initial Catalog=Foodmart 2000");	oAdoMDCellSet.Open(query, oAdoMDCat.ActiveConnection);	// Create the pos object to contain two ordinals 	// for the coordinate.	int numaxes = oAdoMDCellSet.Axes.Count;	object[] pos = new object[numaxes];	int posval = 350;	// Traverse through the pages.	for (int pages = 0; pages <= oAdoMDCellSet.Axes.Count ; pages++)	{		// Traverse through the columns to write a table header.		Response.Write("<Table style =" + '"' + "Z-ORDER = 103; LEFT: 20px;" + 				" WIDTH:" +	"800px; POSITION: absolute; TOP: " + 				posval.ToString()+"px" + '"' + "HEIGHT: 116px" + 				"cellSpacing=1 cellPadding=1 width=600 border=1> <TR>");		for (int ia = 0; ia <= oAdoMDCellSet.Axes[0].Positions.Count - 1; ia++)		{			// If a page exists, write the name of the page.			if (numaxes>2)				Response.Write("<TD>" + 					oAdoMDCellSet.Axes[2].Positions[pages].Members[0].							Caption.ToString() 					+ "</TD>");			// Write the name of the columns.			Response.Write("<TD>" + 				oAdoMDCellSet.Axes[0].Positions[ia].Members[0].							Caption.ToString()+				"</TD>");		}		Response.Write("</TR>");		// Traverse through the rows.		for (int j = 0; j <=oAdoMDCellSet.Axes[1].Positions.Count - 1; 					j ++)		{			// Write the dimension member name.			Response.Write("<TR><TD>" + 				oAdoMDCellSet.Axes[1].Positions[j].Members[0].						Caption.ToString() + 				"</TD>");			// Traverse through the columns.			for (int i = 0; i <= oAdoMDCellSet.Axes[0].Positions.Count - 1; 						i++)			{				// Load the cell coordinates to the pos object.				pos[0] = System.Convert.ToInt16(oAdoMDCellSet.Axes[0].								Positions[i].Ordinal.ToString());				pos[1] = System.Convert.ToInt16(oAdoMDCellSet.Axes[1].								Positions[j].Ordinal.ToString());				if (numaxes>2)					pos[2] = System.Convert.ToInt16(						oAdoMDCellSet.Axes[2].Positions[pages].								Ordinal.ToString());				// Retrieve the value of a cell.				ADOMD.Cell cell = oAdoMDCellSet.get_Item(ref pos);				// Write the FormattedValue property.				Response.Write("<TD>" + cell.FormattedValue + "</TD>");				posval=posval+25;			}			Response.Write("</TR>");		}		Response.Write("</Table>");	}	// Close the Cellset.	oAdoMDCellSet.Close();}catch (Exception goof){	string err_message;	err_message=goof.Message.ToString();	Response.Write(err_message.ToString());}// Release the Cellset object and the Catalog object from the memory.System.Runtime.InteropServices.Marshal.			ReleaseComObject(oAdoMDCellSet);System.Runtime.InteropServices.Marshal.			ReleaseComObject(oAdoMDCat);GC.Collect();GC.GetTotalMemory(true);GC.WaitForPendingFinalizers();
  11. No menu Build , clique em Build Solution .
  12. No menu Debug , clique em Iniciar .

    O formulário WebForm1.aspx Web é exibido no seu navegador.
  13. Copie a seguinte consulta MDX para caixa de texto no formulário da Web a WebForm1.aspx:
    select {[Measures].Members} on columns, {[Promotion Media].Members} on rows from Sales
  14. Clique no botão .

    Um objeto de conjunto de células que corresponde à consulta MDX que você especificou na etapa 13 é exibido em um formato tabular.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 828279 - Última Revisão: 12/08/2015 04:39:47 - Revisão: 3.4

Microsoft SQL Server 2000 Analysis Services, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbprovider kbquery kbhowto KB828279 KbMtpt
Comentários