Usuário com melhor resposta
Inserir ID no BD e não a categoria selecionada no DropDownList

Pergunta
-
Galera,
Tenho um formulário com um DropDownList que traz uma lista de categorias do BD.
Gostaria de saber como faço para que seja salvo o ID referente a categoria e não a categoria selecionada no DropDownList?
Segue meu cód:
protected void BtnCadastrar_Click(object sender, EventArgs e)
{
SqlConnection oConn = new SqlConnection(ConfigurationManager.AppSettings["Conexao"]);
oConn.Open();
SqlCommand oCmd = new SqlCommand("INSERT INTO mensagens([Titulo], [CategoriaID], [mensagem]) VALUES (@Titulo, @categoriaID, @mensagem)", oConn);
oCmd.Parameters.AddWithValue("@Titulo", TxtTitulo.Text);
oCmd.Parameters.AddWithValue("@CategoriaID", DropDownList1.Text);
oCmd.Parameters.AddWithValue("@mensagem", TxtMensagem.Text);
oCmd.ExecuteNonQuery();
oConn.Close();
}
Róger
Respostas
-
Encontrei a solucao, e segue abaixo o cód corrigido, caso alguém tenha o mesmo problema.
protected void BtnCadastrar_Click(object sender, EventArgs e)
{
SqlConnection oConn = new SqlConnection(ConfigurationManager.AppSettings["Conexao"]);
oConn.Open();
SqlCommand oCmd = new SqlCommand("INSERT INTO mensagens([Titulo], [CategoriaID], [mensagem]) VALUES (@Titulo, @categoriaID, @mensagem)", oConn);
oCmd.Parameters.AddWithValue("@Titulo", TxtTitulo.Text);
oCmd.Parameters.AddWithValue("@CategoriaID", DropDownList1.SelectedValue);
oCmd.Parameters.AddWithValue("@mensagem", TxtMensagem.Text);
oCmd.ExecuteNonQuery();
oConn.Close();
}
//Configurar essas duas propriedades no DropDownList
//DataTextField = Nome do Campo que possui o valor a ser carregado no DropDown
//DataValueField = Nome do Campo que possui os codigos que vc dejesa retornara("CategoriaID");
Róger- Marcado como Resposta Róger Marroni quinta-feira, 5 de fevereiro de 2009 16:05
Todas as Respostas
-
Caro Róger, buenas tche!!
Seguem alguns links que podem te ajudar:
C# - Preenchendo um DropDownList em uma página ASP .NET
http://www.macoratti.net/08/09/c_pddl1.htmUsando DropDownList em páginas ASP.NET
http://www.macoratti.net/aspn_ddl.htmPreenchendo um controle DropDowlist
http://www.macoratti.net/aspn_cbo.htm
Abraços e bons estudos!
Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar. -
Encontrei a solucao, e segue abaixo o cód corrigido, caso alguém tenha o mesmo problema.
protected void BtnCadastrar_Click(object sender, EventArgs e)
{
SqlConnection oConn = new SqlConnection(ConfigurationManager.AppSettings["Conexao"]);
oConn.Open();
SqlCommand oCmd = new SqlCommand("INSERT INTO mensagens([Titulo], [CategoriaID], [mensagem]) VALUES (@Titulo, @categoriaID, @mensagem)", oConn);
oCmd.Parameters.AddWithValue("@Titulo", TxtTitulo.Text);
oCmd.Parameters.AddWithValue("@CategoriaID", DropDownList1.SelectedValue);
oCmd.Parameters.AddWithValue("@mensagem", TxtMensagem.Text);
oCmd.ExecuteNonQuery();
oConn.Close();
}
//Configurar essas duas propriedades no DropDownList
//DataTextField = Nome do Campo que possui o valor a ser carregado no DropDown
//DataValueField = Nome do Campo que possui os codigos que vc dejesa retornara("CategoriaID");
Róger- Marcado como Resposta Róger Marroni quinta-feira, 5 de fevereiro de 2009 16:05
-
Ola pessoal sou novo em C# e estou com uma duvida :
por exemplo :
Eu quero inserir no banco dados e tabelas relacionadas e buscar nas mesmas porém
na propriedade tenho DataTextField="nome" DataValueField="filialid" do dropdowlist no entanto isso faz com que meo data reader nao carregue os dados no dropdown e se eu retirar DataValueField="filialid" ele busca mas nao consigo inserir se alguem puder ajudar agradeço!
conn.Open();
string sql = "SELECT setor.setorid, setor.nome as Setor, " +
" setor.responsavel as Responsavel, filial.nome as Filial" +
" FROM setor, filial WHERE (setor.filialid = filial.filialid)" +
" and (setor.setorid = @setorid)";
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.Parameters.Add(new OleDbParameter("@setorid", this.txt_codigo.Text));
cmd.CommandType = CommandType.Text;
OleDbDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
txt_codigo.Text = dr["setorid"].ToString();
txt_responsavel.Text = dr["Responsavel"].ToString();
txt_nome.Text = dr["Setor"].ToString();
ddl_filial.SelectedValue = dr["Filial"].ToString();
dr.Dispose();
conn.Close();
conn.Dispose();
}
else
{
MessageBox1.ShowMessage("Código Inexistente!");
}
}
}
catch (Exception ex)
{
MessageBox1.ShowMessage("Erro: Contate o CPD : " + ex.Message);
}
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
try
{
if (txt_codigo.Text == "")
{
MessageBox1.ShowMessage("Insira o Código!");
}
else
{
cs.Delete(txt_codigo.Text);
MessageBox1.ShowMessage("Registro Excluido !");
LimparCampos();
}
}