Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/10/2012, 19:46
Avatar de jesmi89
jesmi89
 
Fecha de Ingreso: agosto-2008
Ubicación: Bello - Antioquia
Mensajes: 47
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta Problema con Base de datos

Hola, estoy trabajando una pagina asp.net en visual studio 2010 que tiene una base de datos en sql server 2008, y al momento de guardar los datos que pido al usuario mediante un formulario, Efectivamente me los guarda en la tabla correspondiente de la BD, pero el error está en que cuando guarda los campos pertenecientes a departamento y municipio, me aparece es el Id perteneciente a cada uno y no como tal los nombres de los departamento y municipio seleccionado por el usuario en el dropdownlist.

No se si esto se deba a que uso dos bases de datos, que son "lugares" para lo de los departamentos y municipios (donde las tablas van relacionadas entre si), y otra llamada PQR, donde se almacenan todos los campos del formulario.

Por si depronto no me he hecho entender bien pongo el codigo que he generado para cada caso:

1. conexion a BD "Lugares" contiene las tablas "Departamento" y "Municipio"
Código:
private SqlConnection ccadena = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=D:\\Documents\\Visual Studio 2010\\Projects\\ProyectoFinal\\ProyectoFinal\\App_Data\\Lugares.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

        public void mostrar_Ciudad()
        {
            //mediante una consulta se muestran los datos guardados en la BD pertenecientes a la Tabla Ciudad
            ccadena.Open();
            SqlCommand cmd = new SqlCommand("select Ciudad, IdCiudad from Ciudad" , ccadena);
            SqlDataReader dr = cmd.ExecuteReader();
            DropDepartamento.DataSource = dr;
            DropDepartamento.Items.Clear();
            DropDepartamento.Items.Add("Seleccione...");
            DropDepartamento.DataTextField = "Ciudad";
            DropDepartamento.DataValueField = "IdCiudad";
            DropDepartamento.DataBind();
            ccadena.Close();
        }

        public void mostrar_Municipio()
        {
            //mediante una consulta se muestran los datos guardados en la BD pertenecientes a la Tabla Municipio
            //indicando que dependerá del elemnto seleccionado en el primer Listado
            ccadena.Open();
            SqlCommand cmd = new SqlCommand("select Municipio, IdMunicipio from Municipio where IdCiudad= '" +
                DropDepartamento.SelectedValue + "'", ccadena);
            SqlDataReader dr = cmd.ExecuteReader();
            DropMunicipio.DataSource = dr;
            DropMunicipio.Items.Clear();
            DropMunicipio.Items.Add("Seleccione...");
            DropMunicipio.DataTextField = "Municipio";
            DropMunicipio.DataValueField = "IdMunicipio";
            DropMunicipio.DataBind();
            ccadena.Close();
        }

        protected void DropDepartamento_SelectedIndexChanged(object sender, EventArgs e)
        {
            //Si s eha seleccionado una ciudad, automáticamente mostrará los municipios pertenecientes a esta
            mostrar_Municipio();
        }
2. Conexion a BD "PQR" donde esta la tabla "Peticion"

Código:
protected void Button1_Click(object sender, EventArgs e)
        {
 if (CheckPeticion.Checked == true)
            {
                try
                {
                    SqlConnection ccadena = new SqlConnection();
                    ccadena.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=D:\\Documents\\Visual Studio 2010\\Projects\\ProyectoFinal\\ProyectoFinal\\App_Data\\PQR.mdf;Integrated Security=True;User Instance=True";

                    ccadena.Open();

                    string fecha_Solicitud, dependencia, nombre, apellido, tipo_Id, identificacion, email, direccion, telefono, departamento, municipio, asunto, solicitud, anexo;

                    fecha_Solicitud = txtFecha.Text;
                    dependencia = DropDependencia.Text;
                    nombre = txtNombre.Text;
                    apellido = txtApellido.Text;
                    tipo_Id = DropId.Text;
                    identificacion = txtNumId.Text;
                    email = txtEmail.Text;
                    direccion = txtDireccion.Text;
                    telefono = txtTelefono.Text;
                    departamento = DropDepartamento.Text;
                    municipio = DropMunicipio.Text;
                    asunto = txtAsunto.Text;
                    solicitud = txtSolicitud.Text;
                    anexo = FileUpload1.FileName;

                    string sql;
                    sql = "INSERT INTO Peticion VALUES ('" + fecha_Solicitud + "' , '" + dependencia + "' , '" + nombre + "' , '" + apellido + "' , '" + tipo_Id + "', '" + identificacion + "', '" + email + "', '" + direccion + "' , '" + telefono + "' , '" + departamento + "' , '" + municipio + "' , '" + asunto + "', '" + solicitud + "','" + anexo +"')";
                    SqlCommand cmd = new SqlCommand(sql, ccadena);
                    cmd.ExecuteNonQuery();
                    ccadena.Close();
                }

                catch (Exception ex)
                {
                    lblError.Text = "Error, " + ex.Message;
                }
            }
}
Siguen otros if, ya que la informacion se guarda en diferentes tablas segun el Checkbox seleccionado, pero ps eso no viene al caso.

Si no mas bien porque sucede lo q comente al principio, espero me puedan colaborar hayando el porque sucede esto o de que manera es posible solucionarlo

Gracias