Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego Engel

[Resolvido] conversão de tipos de variáveis

Recommended Posts

Galera...

 

Estou com um probleminha e to perdido ...

 

Segue o código:

 

NpgsqlDataAdapter daSenha= new NpgsqlDataAdapter(strComando, strConexao);
		DataSet dsSenha = new DataSet();
			   
		try
		{
			daSenha.Fill(dsSenha);
			string grupomenu = dsSenha.ToString();
			clsMenu.menu_grupoid = grupomenu;		  // declaração na classe - public static string menu_grupoid;  aqui o ideal é ser INT
			lblLogonError.Text = grupomenu;
			//Response.Redirect("MasterPage.master");			
		}
		catch (Exception ex)
		{
			lblLogonError.Text = ex.Message;
		}

 

comentei a linha que abriria a outra tela pra saber qual o erro q dava (não nem se é assim que redireiciona para outra página)

a variável grupomenu contém segundo a label que criei : System.Data.DataSet

e clsMenu.menu_grupoid contém : System.Data.DataSet

 

O problema é q na verdade esse valor que retorna do select é um INTEIRO, como não conseguia converter joguei pra string e andei umpouco mais.. mas agora to com esse problema..

 

 

 

Alguém pode me ajudar??

 

Abraços !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas acho que isso não é o mais ideal:

 

string grupomenu = dsSenha.ToString();

Você quer um campo do DataSet correto?

 

Abraços...

Exatemnte quintelab,

 

Meu select retorna apenas uma valor em uma coluna... preciso desse valor !!! que será enviado para outra página que carregará de acordo com esse valor.

 

 

ps.: se puder passar a sintaxe pra ir pra outra tela.. eu agradeço rsr !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você tem certeza que é apenas um registro basta:

 

int grupomenu = Convert.ToInt32(ds.Tables[0].Rows[0]["NOME_DA_COLUNA"]);

Fiz de cabeça aqui, mas acho que não tem erro.

 

Abraços...

Funcionou legal cara !!!

 

Mas agora surgiu uma nova dúvida...

Preciso fazer um controle, caso ele não retorne valor algum ele deve mostrar uma mensagem... porém percebi que ele retorna uma mensagem caso não encontre nada no banco... por iso não consigui fazer um if pra resolver esse problema....

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara meu código ficou assim

 

try
		{
			daSenha.Fill(dsSenha);
			int grupomenu = Convert.ToInt32(dsSenha.Tables[0].Rows[0]["id_grupo"]);
			clsMenu.menu_grupoid = grupomenu;
			lblLogonError.Text = grupomenu.ToString();
			if (dsSenha.Tables[0].Rows[0]["id_grupo"].ToString() != string.Empty)
			{
				lblLogonError.Text = "parabéns";
				Response.Redirect("Default.aspx"); 
			}
			else
			{
				lblLogonError.Text = "se fudeu";			
			}

			
			
			//Response.Redirect("Default.aspx");			
		}
		catch (Exception ex)
		{
			lblLogonError.Text = ex.Message;
		}

porém o "se lascou" não aparece no label.... ele cai direto no catch.... ele não deveria cair no Try.. afinal ele conseguiu executar o select...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que isso resolve:

 

if(ds.Tables[0].Rows.Count > 0)
int grupomenu = Convert.ToInt32(ds.Tables[0].Rows[0]["NOME_DA_COLUNA"]);

Abraços...

 

Valeu cara !!!

 

Agora funcionou legal !!!

 

Abraço !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.