cintiadel 0 Report post Posted January 27, 2009 ja tentei de diversas formas, mas esta dando erro. eu quero trazer um campo de banco do banco de dados no textbox, esse eu consegui so q quando o campo esta com valor null no banco ele me apresenta erro. tbm gostaria de carregar o dropdown com dados do banco, e trazer o valor selecionado de acordo com a consulta, mas tbm da erro na propriedade selectvalue estou preenchendo da seguinte forma, através do datareader. If dados.HasRows = True Then txt_nome.Text = dados("nome") ddl_sexo.SelectedValue = dados("sexo") txt_dtnasc.Text = dados("dtnasc") ddl_pais.SelectedValue = dados("pais") End IF Share this post Link to post Share on other sites
cintiadel 0 Report post Posted January 27, 2009 ja tentei de diversas formas, mas esta dando erro. * eu quero trazer um campo de banco do banco de dados no textbox, esse eu consegui so q quando o campo esta com valor null no banco ao invés de trazer em branco, ele me apresenta erro: "A conversão do tipo 'DBNull' no tipo 'String' não é válida." tbm gostaria de carregar o dropdown com dados do banco, e trazer o valor selecionado de acordo com a consulta, mas tbm da erro na propriedade selectvalue, o erro é: "'ddl_pais' tem um SelectedValue que é inválido porque ele não existe na lista de itens. Nome do parâmetro: value " o html: <asp:DropDownList ID="ddl_pais" runat="server" DataSourceID="sqlPais" DataTextField="PAIS" DataValueField="PAIS" > </asp:DropDownList> <asp:SqlDataSource ID="sqlPais" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [paises]"> </asp:SqlDataSource> estou preenchendo da seguinte forma, através do datareader. If dados.HasRows = True Then txt_nome.Text = dados("nome") ddl_sexo.SelectedValue = dados("sexo") txt_dtnasc.Text = dados("dtnasc") ddl_pais.SelectedValue = dados("pais") End IF Share this post Link to post Share on other sites
Eduardo Sousa 0 Report post Posted January 27, 2009 ja tentei de diversas formas, mas esta dando erro. eu quero trazer um campo de banco do banco de dados no textbox, esse eu consegui so q quando o campo esta com valor null no banco ele me apresenta erro. tbm gostaria de carregar o dropdown com dados do banco, e trazer o valor selecionado de acordo com a consulta, mas tbm da erro na propriedade selectvalue estou preenchendo da seguinte forma, através do datareader. If dados.HasRows = True Then txt_nome.Text = dados("nome") ddl_sexo.SelectedValue = dados("sexo") txt_dtnasc.Text = dados("dtnasc") ddl_pais.SelectedValue = dados("pais") End IF Você já ouviu falar em LINQ? se sim utilize-o pois não terá problemas, se ainda não viu não perca muito tempo quebrando a cabeça com isso e estude um pouco de LINQ que é muito simples e com certeza vai ajudar bastente nas suas aplicações e provavelmente não terá problemas simples como estes lembrando que o LINQ (LINQ to SQL) é para base de dados SQL Server. Share this post Link to post Share on other sites
cintiadel 0 Report post Posted January 27, 2009 sim ja ouvi falar, e ja dei ate uma olhada, mas n sei como posso fazer isso com linq, pode me ajudar? n tem outra forma sem linq? Share this post Link to post Share on other sites
quintelab 91 Report post Posted January 28, 2009 Basta utilizar a propriedade ToString que dara certo: txt_nome.Text = dados("nome").ToString ddl_sexo.SelectedValue = dados("sexo").ToString txt_dtnasc.Text = dados("dtnasc").ToString ddl_pais.SelectedValue = dados("pais").ToString Abraços... Share this post Link to post Share on other sites
cintiadel 0 Report post Posted January 29, 2009 Basta utilizar a propriedade ToString que dara certo: txt_nome.Text = dados("nome").ToString ddl_sexo.SelectedValue = dados("sexo").ToString txt_dtnasc.Text = dados("dtnasc").ToString ddl_pais.SelectedValue = dados("pais").ToString Abraços... mesmo fazendo isso ele da erro no dropdown pais q é o q eu tento carregar com o datasource, da erro: "Os métodos de ligação de dados como Eval(), XPath() e Bind() só podem ser usados no contexto de um controle limitado por dados." isso se eu coloco a propriedade selectedvalue e se eu tiro da o erro q citei acima. Share this post Link to post Share on other sites
quintelab 91 Report post Posted January 29, 2009 Se o problema esta só no Drop faça um if If(dados("pais").ToString <> string.Empty) Then ddl_pais.SelectedValue = dados("pais").ToString End If Abraços... Share this post Link to post Share on other sites
cintiadel 0 Report post Posted January 29, 2009 o problema n esta ai e sim em carregar o dropdown com o valor q esta no banco, ja chequei o nome na tabela e esta ok. e no html ou no datasource: <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="sqlPais" DataTextField="pais" DataValueField="pais" SelectedValue='<%# Bind("pais) %>'> </asp:DropDownList> <asp:SqlDataSource ID="sqlPais" runat="server" ConnectionString="<%$ ConnectionStrings:centralConnectionString%>" SelectCommand="SELECT * FROM [paises]]"> </asp:SqlDataSource> da erro: Os métodos de ligação de dados como Eval(), XPath() e Bind() só podem ser usados no contexto de um controle limitado por dados. Share this post Link to post Share on other sites
cintiadel 0 Report post Posted January 29, 2009 Se o problema esta só no Drop faça um if If(dados("pais").ToString <> string.Empty) Then ddl_pais.SelectedValue = dados("pais").ToString End If Abraços... acho q eu descobri o q esta errado, pelo menos eu acho.o dropdown é preenchido atraves do slqdatasource da tabela paises, mas o valor q tem q vir selecionado é da tabela alunos. mas continua os mesmos erros.... Share this post Link to post Share on other sites
quintelab 91 Report post Posted January 29, 2009 Mas ae não vai dar certo, troque para a mesma tabela. Abraços... Share this post Link to post Share on other sites
cintiadel 0 Report post Posted January 29, 2009 Mas ae não vai dar certo, troque para a mesma tabela. Abraços... mas ai n ficara como tem q ser...como disse é de paises, seria a nacionalidade, a maioria é brasileiro, mas tem suas exceções, entao teria q carregar os paises, e selecionar o do aluno. fiz isso num gridview e funcionou, mas n entendo pq n funciona, sera q é por causa do formview? Share this post Link to post Share on other sites
cintiadel 0 Report post Posted February 3, 2009 Mas ae não vai dar certo, troque para a mesma tabela. Abraços... da certo sim, ja fiz em outro projeto e funcionou n entendo pq da erro no selectedvalue...desculpa por estar atualizando o topico e q muitas vezes fica esquecido... Share this post Link to post Share on other sites
quintelab 91 Report post Posted February 3, 2009 O valor que você esta passando para o SelectValeu realmente existe no seu DropDown. De repente seu DropDown tem os itens: Value="1" Text="Um" Value="2" Text="Dois" E esta tentando passar o value 3 para ele. Já verificou isso? Abraços... Share this post Link to post Share on other sites
cintiadel 0 Report post Posted February 3, 2009 O valor que você esta passando para o SelectValeu realmente existe no seu DropDown. De repente seu DropDown tem os itens: Value="1" Text="Um" Value="2" Text="Dois" E esta tentando passar o value 3 para ele. Já verificou isso? Abraços... esta dessa forma, igual eu fiz em outra aplicação e funcionou. o campos tbm esta correto pq ja chequei. nos campos onde listo os itens um por um na mao funciona. <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="sqlPais" DataTextField="pais" DataValueField="pais" SelectedValue='<%# Bind("pais) %>'> </asp:DropDownList> <asp:SqlDataSource ID="sqlPais" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString%>" SelectCommand="SELECT * FROM [paises]]"> </asp:SqlDataSource> Share this post Link to post Share on other sites
quintelab 91 Report post Posted February 3, 2009 Estranho, tente utilizar dessa outra forma: http://www.macoratti.net/aspn_ddl.htm Tente no máximo separar HTML do seu código de programação. Abraços... Share this post Link to post Share on other sites
cintiadel 0 Report post Posted February 4, 2009 Estranho, tente utilizar dessa outra forma: http://www.macoratti.net/aspn_ddl.htm Tente no máximo separar HTML do seu código de programação. Abraços... mas ai ele vai vir selecionado como eu quero?eu ja tinha dado uma olhada no site do macoratti, mas n achei q se aplicava com o meu problema. é muito estranho n dar certo.... Share this post Link to post Share on other sites
quintelab 91 Report post Posted February 4, 2009 Só agora reparei que alimenta a propriedade SelectedValue tanto no HTML quanto no código VB. Retire essa propriedade do seu código HTML, não tem necessidade. Abraços... Share this post Link to post Share on other sites
cintiadel 0 Report post Posted February 4, 2009 Só agora reparei que alimenta a propriedade SelectedValue tanto no HTML quanto no código VB. Retire essa propriedade do seu código HTML, não tem necessidade. Abraços... se eu tiro ele traz o combo com os paises mas a primeira opcao selecionada e n a correta Share this post Link to post Share on other sites
quintelab 91 Report post Posted February 4, 2009 Mas você deve definir qual é a que ficará selecioada la no seu código: ddl_pais.SelectedValue = dados("pais").ToString Abraços... Share this post Link to post Share on other sites
cintiadel 0 Report post Posted February 4, 2009 Mas você deve definir qual é a que ficará selecioada la no seu código: ddl_pais.SelectedValue = dados("pais").ToString Abraços... mesmo tirando do html e deixando somente na pagina aspx.vb, continua com o mesmo erro:'ddl_pais' tem um SelectedValue que é inválido porque ele não existe na lista de itens. Nome do parâmetro: value pensei q era por causa do nome do campo por estar o mesmo nas duas tabelas, mas qdo altero o nome tbm da esse erro. Share this post Link to post Share on other sites