ASP.NET - insertar en una tabla sql valor de un dropdownlist

 
Vista:
sin imagen de perfil

insertar en una tabla sql valor de un dropdownlist

Publicado por felipe (8 intervenciones) el 27/03/2017 22:18:46
tengo una duda, tengo 2 tablas una es un mantenedor de paises con su ID_pais y nombre.
y otra tabla de proveedores con el id_pais.

en sql tengo este proc:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[stp_RegistraProveedor]
 
    @nom AS VARCHAR(50),
    @rut AS VARCHAR(50),
    @rubro AS VARCHAR(30),
    @email AS VARCHAR(20),
    @telefono as varchar(20),
    @contrasena AS VARCHAR(20),
    @pais as int
as
begin
set nocount on
 
begin transaction
 
 
 insert into proveedor (nomempresa,rubro,rut_proveedor,telefono,email)
 values (@nom,@rut,@rubro,@email,@telefono)
  insert into proveedores(id_pais)
  values(@pais)
 
 
 
commit transaction
set nocount off
end

y en c# este codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
try
            {
                SqlCommand cmd = new SqlCommand("stp_RegistraProveedor", connectionString);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@nom", SqlDbType.VarChar, 50);
                cmd.Parameters.Add("@rut", SqlDbType.VarChar, 50);
                cmd.Parameters.Add("@rubro", SqlDbType.VarChar, 30);
                cmd.Parameters.Add("@email", SqlDbType.VarChar, 20);
                cmd.Parameters.Add("@telefono", SqlDbType.VarChar, 20);
                cmd.Parameters.Add("@contrasena", SqlDbType.VarChar, 30);
                cmd.Parameters.Add("@pais", SqlDbType.Int);
                cmd.Parameters["@nom"].Value = txtcontrasenaNuevoProveedor.Text;
                cmd.Parameters["@rut"].Value = txtRutNuevoProveedor.Text;
                cmd.Parameters["@rubro"].Value = txtcontrasenaNuevoProveedor.Text;
                cmd.Parameters["@email"].Value = txtRutNuevoProveedor.Text;
                cmd.Parameters["@telefono"].Value = txtcontrasenaNuevoProveedor.Text;
                cmd.Parameters["@contrasena"].Value = txtRutNuevoProveedor.Text;
 
                connectionString.Open();
                cmd.ExecuteNonQuery();
                connectionString.Close();
                cargardatos();
            }

Lo que quiero es poder insertar el id_pais en la tabla proveedores, lo que no esta pasando ahora. ( el valor que ve el usuario es el nombre)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

insertar en una tabla sql valor de un dropdownlist

Publicado por felipe (8 intervenciones) el 27/03/2017 23:23:08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@nom", SqlDbType.VarChar, 50);
cmd.Parameters.Add("@rut", SqlDbType.VarChar, 50);
cmd.Parameters.Add("@rubro", SqlDbType.VarChar, 30);
cmd.Parameters.Add("@email", SqlDbType.VarChar, 20);
cmd.Parameters.Add("@telefono", SqlDbType.VarChar, 20);
cmd.Parameters.Add("@contrasena", SqlDbType.VarChar, 30);
cmd.Parameters.Add("@pais", SqlDbType.Int);
cmd.Parameters["@pais"].Value = ddlPaises.SelectedItem;
cmd.Parameters["@nom"].Value = txtNomEmpresa.Text;
cmd.Parameters["@rut"].Value = txtRutNuevoProveedor.Text;
cmd.Parameters["@rubro"].Value = txtRubroNuevoProveedor.Text;
cmd.Parameters["@email"].Value = txtEmailNuevoProveedor.Text;
cmd.Parameters["@telefono"].Value = txtTelefonoNuevoProveedor.Text;
cmd.Parameters["@contrasena"].Value = txtcontrasenaNuevoProveedor.Text;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Enrique
Val: 66
Bronce
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

insertar en una tabla sql valor de un dropdownlist

Publicado por Enrique (27 intervenciones) el 03/04/2017 18:47:26
Vez de llamar la propiedad texto debes, obtener el valor de la propiedad Value

1
cmd.Parameters["@pais"].Value = dropCountries.SelectedItem.Value;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar