Como inserir registro com chave estrangeira
Tenho uma app asp com uma base sql server.
Resumindo, tem uma parte da app onde o usuário precisa selecionar uma opção num dropdownlist (onde o datasource é uma tabela que eu tenho já populada no sql server) e quando clicasse em "Ok", uma segunda tabela pegasse o texto do dropdownlist (eu preciso do texto, e não do ID).
ASP.NET eu tenho:
<asp:Dropdownlist ID="Dropdown_Quantitativo" runat="server" DataSourceID="DataSourceAtividade" DataTextField="ATIVIDADE" DataValueField="ID" AutoPostBack="True" OnSelectedIndexChanged="Dropdown_Quantitativo_SelectedIndexChanged" />
<asp:SqlDataSource ID="DataSourceAtividade" runat="server" ConnectionString="<%$ ConnectionStrings:DICOMConnectionString %>" SelectCommand="SELECT * FROM [ATIVIDADES]"></asp:SqlDataSource>
E C# está pelado ainda:
public partial class AtividadesQuantitativas : System.Web.UI.Page
protected void Btn_Add_AtivQuantitativa_Click(object sender, EventArgs e)
protected void Dropdown_Quantitativo_SelectedIndexChanged(object sender, EventArgs e)
Eu estou começando a aprender agora, então agradeço desde já a ajuda.
Movido João_ Prado sexta-feira, 4 de abril de 2014 15:12 Contexto webforms
sexta-feira, 4 de abril de 2014 13:58
Se você quiser realizar a filtragem pelo usuário logado, será necessário você obter o usuário logado EXATAMENTE da forma como está registrado na sua base de dados.
Para obter o nome do do usuário que está logado em aplicação ASP.NET WebForms, basta utilizar o código abaixo:
string usuario = HttpContext.Current.User.Identity.Name;
- em se tratando de Windows Authentication, o nome da máquina ou do domínio fará parte desta identificação: ex: NOME_DA_MAQUINA\nome_do_usuario.
- em se tratando de Forms Authentication, o nome do usuário estará sozinho: nome_do_usuario.
Para obter o nome do usuário logado em aplicações ASP.NET MVC, dentro do controller basta utilizar o código abaixo:
Com essa informação nas mãos você pode passá-la para o sua query como filtro no banco de dados.
OBS: Por uma questão de organização no fórum, sugiro que você abra novas threads quando suas dúvidas forem referentes a outros assuntos que fujam do assunto original e procure manter a discussão da thread condizente com o título da mesma.
Renato Person | MCPD
Marcado como Resposta Leopoldo Nascimento segunda-feira, 7 de abril de 2014 12:23
sábado, 5 de abril de 2014 13:07
Olá, bom basta vc pegar o texto usando da combo e fazer o filtro de sua query pelo texto selecionado e retornar o valor isso na teoria, veja essa thread que mostra como fazer um SELECT na base de dados.
sexta-feira, 4 de abril de 2014 14:27
Meu dropdown já me mostra o resultado da minha query.
Já consigo inserir o texto digitado na Textbox também, o problema é fazer com o valor selecionado no dropdownlist o mesmo que eu faço com a textbox.
Saberia me dizer como ficaria?
sexta-feira, 4 de abril de 2014 14:34
Não entendi também rs, se for pegar o texto selecionado no dropdownlist é assim :
string texto = DropDownList1.Text;
sexta-feira, 4 de abril de 2014 14:40
Na verdade era mais ou menos isso mesmo que eu esperava.
Por exemplo, quando o usuário vai adicionar um texto no textbox e eu vou inserir na tabela, eu faço:
comando.Parameters.AddWithValue("@referencia", TextBox.Text);
E para o Dropdown? São entradas diferentes nesse formulário.
sexta-feira, 4 de abril de 2014 16:21
Entendi, isso mesmo basta pegaro valor do drop :
comando.Parameters.AddWithValue("@valordropdown",DropDownList1.Text);
Sugerido como Resposta Giovani Cr sexta-feira, 4 de abril de 2014 19:07
sexta-feira, 4 de abril de 2014 16:46
Só pra aproveitar o gancho, um dos campos da tabela é para pegar o usuário que realizou a inserção dos dados.
Teria algum tipo de:
Parameters.AddWithValue("@usuario", GetUser):
sexta-feira, 4 de abril de 2014 19:17
rs, não existe não... Você diz usuario do sql vc pega na sua connection string, ou usuario do seu sistema !
sexta-feira, 4 de abril de 2014 19:23
Usuário do sistema...
No template que eu peguei, na página asp.net tem assim:
<p>Você está loggado como <strong><%: User.Identity.Name %></strong>.</p>
Ai queria pegar algo do tipo:
Select USERNAME from USUARIO where NOME = + User.Identity.Name
É que, por se tratar de uma aplicação onde vários usuários vão registrar atividades quantitativas, queria dar esse GET para gerar relatorios depois.