Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 !!
>
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 !!
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...
>
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....
Acho que isso resolve:
if(ds.Tables[0].Rows[0]["NOME_DA_COLUNA"].ToString() != string.Empty)
int grupomenu = Convert.ToInt32(ds.Tables[0].Rows[0]["NOME_DA_COLUNA"]);
Abraços...
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...Qual o erro que aparece na mensagem? Fiz os códigos de cabeça posso ter errado algo.
Abraços...
>
Qual o erro que aparece na mensagem? Fiz os códigos de cabeça posso ter errado algo.
Abraços...
cara o erro é esse:
There is no row at position 0.
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...>
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 !!
Mas acho que isso não é o mais ideal:
string grupomenu = dsSenha.ToString();
Você quer um campo do DataSet correto?
Abraços...