Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal da uma ajuda Rápida.
Ta dando um erro e não to enxergando onde estou errando...
quero fazer um select pelo DLINQ só que na hora de selecionar o TextBox.Text tá dando um erro no convert...
como resolvo isso?
Olhem o código:
protected void pesquisarButton_Click(object sender, EventArgs e)
{
string CampoCodigo = Convert.ToInt32(codigoASPxTextBox.Text.Trim); //O erro está aqui(eu acho)
//Faz a conexão com o BD
DataContext DB = new DataContext(@"********************");
//Cria uma varialvel chamando a tabela.
Table<ConexaoParticipante> codParticipantes = DB.GetTable<ConexaoParticipante>();
//Efetua o código SQl
var cdPart = from cdParticipante in codParticipantes where cdParticipante = CampoCodigo select cdParticipante;//Aqui eu chamo a variável no código.
}
Valeu!
Até mais!
;)
Posta o erro e a linha do erro!
Abraço...
>
O que tem neste valor: codigoASPxTextBox.Text.Trim ??
Abraços...
então a idéia é:
receber o valor do textBox(Que não pode ter espaço, por isso o trim)
e fazer um select a partir do valor digitado no campo do textBox.
>
Posta o erro e a linha do erro!
Abraço...
então...
o erro é porque eu não estou conseguindo pegar o valor que será digitado no campo do TextBox e jogar no select da variavel.
var cdPart = from cdParticipante in codParticipantes where cdParticipante = VALOR_DO_TextBox select cdParticipante; //Aqui eu chamo a variável no código.Esse codigoASPxTextBox ta dentro de algum controle como GridView, FormView ou outro Controle!
>
Esse codigoASPxTextBox ta dentro de algum controle como GridView, FormView ou outro Controle!
codigoASPxTextBox é o nome do meu textbox.
Massa eu sei.
mas ele té dentro de algum controle como GridView, FormView ou outro Controle?
Nops....
dentro de uma tabela simples.
eu ainda não sei como vou fazer...
pensei coletar essa informação e jogar dentro de uma classe... mas eu n sei fazer isso direito, estou esdudando sobre isso.
Se alguem puder me ajuda, será de ótima ajuda. =)
Mas qual erro esta dando?
Aparece erro na tela? Se sim posta aqui!
Então... simplifiquei o erro ao máximo. Agora é apenas um motivo.
Criei um método em C# dentro de uma classe.
public List<BuscaEAddClass> ListarDoSqlServerPorCodigo(int Codigo)
{
List<BuscaEAddClass> lista = new List<BuscaEAddClass>();
//aqui vai o código em ADO.NET
SqlCommand comando = new SqlCommand();
comando.Connection = GetConnection();
comando.CommandType = System.Data.CommandType.Text;
comando.CommandText = "SELECT tb_Participante.cdParticipante as 'Codigo', tb_Participante.nmParticipante as 'Nome', tb_Usuario.dsEmail as 'E-Mail' FROM tb_Participante join tb_Usuario on tb_Participante.cdUsuario = tb_Usuario.cdUsuario WHERE tb_Participante.cdParticipante = @CodigoUsuario";
comando.Parameters.AddWithValue("@CodigoUsuario", Codigo);
//obter o retorno com a classe SqlDataReader
SqlDataReader leitor = comando.ExecuteReader();
//ler todas as linhas do leitor
while (leitor.Read())
{
BuscaEAddClass a = new BuscaEAddClass();
a.CodigoParticipante = leitor["tb_Participante.cdParticipante"].ToString();
a.Nome = leitor["tb_Participante.nmParticipante"].ToString();
a.Email = leitor["tb_Usuario.dsEmail"].ToString();
lista.Add(a);
}
return lista;
}
E no evento do Button está isso aqui:
protected void pesquisarButton_Click(object sender, EventArgs e)
{
BuscaEAddClass Classe = new BuscaEAddClass();
if (!String.IsNullOrEmpty((string)codigoASPxTextBox.Text))
{
resultadoASPxGridView.DataSource = Classe.ListarDoSqlServerPorCodigo(Convert.ToInt32((string)codigoASPxTextBox.Text));
textoResultadoASPxLabel.Text = "Concluído.";
}
else
{
textoResultadoASPxLabel.Text = "Desculpe, mas não foi possível efetuar a pesquisa.";
}
}
Porém, eu já sei o que está dando erro, mas não sei como solucionar.
O erro está bem aqui:
while (leitor.Read())
{
BuscaEAddClass a = new BuscaEAddClass();
a.CodigoParticipante = leitor["tb_Participante.cdParticipante"].ToString();
a.Nome = leitor["tb_Participante.nmParticipante"].ToString();
a.Email = leitor["Tb_Usuario.dsEmail"].ToString();
lista.Add(a);
}
ele não consegue reconhecer a coluna da tabela...
Vamo supor; se o objeto Nome pega a coluna nmParticipante da tabela tb_Participante, pronto, resolvido.
Mas ele não reconhece que isso está dentro do código SQl.
Como resolvo isso?
Grande abss...
O correto não é passar: tb_Participante.cdParticipante e sim o Alias que você colocou la no seu sql.
Abraços...
>
O correto não é passar: tb_Participante.cdParticipante e sim o Alias que você colocou la no seu sql.
Abraços...
Então... a coluna....
ja fiz isso.... mas ele não joga pra tabela.
n acontece nada...
Então ele não esta entrando no Read não tem dados na sua query.
Abraços...
Reformulando...
Ele consegue ler tudo certo, mas quando ele tenta jogar pro CodigoUsuario, Nome e Email não vai.
Porque isso?
Como faço pra solucionar?
eu dei uma mudada no codigo agora os valores não são mais nulos...
Evento do Button:
protected void pesquisarButton_Click(object sender, EventArgs e)
{
BuscaEAddClass Classe = new BuscaEAddClass();
resultGridView.DataSource = Classe.ListarDoSqlServerPorCodigo(Convert.ToInt32((string)codigoASPxTextBox.Text));
if (!String.IsNullOrEmpty(Classe.Codigo) || !String.IsNullOrEmpty(Classe.Nome) || !String.IsNullOrEmpty(Classe.Email))
{
textoResultadoASPxLabel.Text = "Concluído.";
}
else
{
textoResultadoASPxLabel.Text = "Desculpe, mas não foi possível efetuar a pesquisa.";
}
}public List<BuscaEAddClass> ListarDoSqlServerPorCodigo(int CodigoIN)
{
List<BuscaEAddClass> lista = new List<BuscaEAddClass>();
//aqui vai o código em ADO.NET
SqlCommand comando = new SqlCommand();
comando.Connection = GetConnection();
comando.CommandType = System.Data.CommandType.Text;
comando.CommandText = "SELECT tb_Participante.cdParticipante as 'Codigo', tb_Participante.nmParticipante as 'Nome', tb_Usuario.dsEmail as 'E-Mail' FROM tb_Participante join tb_Usuario on tb_Participante.cdUsuario = tb_Usuario.cdUsuario WHERE tb_Participante.cdParticipante = @CodigoUsuario";
comando.Parameters.AddWithValue("@CodigoUsuario", CodigoIN);
//obter o retorno com a classe SqlDataReader
SqlDataReader leitor = comando.ExecuteReader();
leitor.Read();
Codigo = leitor["Codigo"].ToString();
Nome = leitor["Nome"].ToString();
Email = leitor["E-Mail"].ToString();
return lista;
}
Porém ainda não aparece no GridView.
Eu acho que não estou sabendo colocar as info no GridView
Primeiro tem que decidir o que quer. Quer alimentar textbox, alimentar gridview? O que esta tentando fazer? Cada hora você fala uma coisa.
Abraços...
>
Primeiro tem que decidir o que quer. Quer alimentar textbox, alimentar gridview? O que esta tentando fazer? Cada hora você fala uma coisa.
Abraços...
hahaha... :lol:
não... você não entendeu, a parte do textbox eu ja resolvi... o problema ta na hora de alimentar o GridView.
No caso do text era de que ele precisava colocar um valor e baseado nesse valor fazia a busca no sql, mas isso eu ja consegui. ;)
Eu olhei parte por parte do debugger, tá tudo certo, o problema está na hora que era pra mostrar no GridView que eu não estou conseguindo.
O que eu estou tentando fazer é uma pesquisa no SQL e mostra no GridView.
Se o código que alimenta a grid for esse:
BuscaEAddClass Classe = new BuscaEAddClass();
resultGridView.DataSource = Classe.ListarDoSqlServerPorCodigo(Convert.ToInt32((string)codigoASPxTextBox.Text));
Falta apenas o DataBind.
resultGridView.DataBind();
Abraços...
Olha... que bacana....
as colunas aparecerão, porém onde era pra mostrar os valores ta escrito "No data to dilplay".
e ao mesmo tempo eu estou falando que os resultados terão que aparece em alguns labels e nos labels aparecem...
graçado... :D
esqueci mais de alguma coisa?
Poste o HTML da sua grid.
Abraços...
>
Pessoal da uma ajuda Rápida.
Ta dando um erro e não to enxergando onde estou errando...
quero fazer um select pelo DLINQ só que na hora de selecionar o TextBox.Text tá dando um erro no convert...
como resolvo isso?
Olhem o código:
protected void pesquisarButton_Click(object sender, EventArgs e)
{
string CampoCodigo = Convert.ToInt32(codigoASPxTextBox.Text.Trim); //O erro está aqui(eu acho)
//Faz a conexão com o BD
DataContext DB = new DataContext(@"********************");
//Cria uma varialvel chamando a tabela.
Table<ConexaoParticipante> codParticipantes = DB.GetTable<ConexaoParticipante>();
//Efetua o código SQl
var cdPart = from cdParticipante in codParticipantes where cdParticipante = CampoCodigo select cdParticipante;//Aqui eu chamo a variável no código.
}
Valeu!
Até mais!
;)
Olá, Massa Urbana.
Seguinte, percebi 2 coisas no seu código que realmente vão te gerar erro.
Na linha abaixo:
string CampoCodigo = Convert.ToInt32(codigoASPxTextBox.Text.Trim); //O erro está aqui(eu acho)
1º Você tem que estar certo de que neste "cara" "codigoASPxTextBox.Text.Trim" sempre será inserido um inteiro.
2º Se a primeira condição for satisfeita um outro erro será gerado porque você está tentando jogar um inteiro em uma variável do tipo string.
Então, segue a dica.
;)
O que tem neste valor: codigoASPxTextBox.Text.Trim ??
Abraços...