none
como guardar el resultado de una consulta a la base de datos en una variable de c# para después hacer una comparación de si ese dato exitse en la base!! RRS feed

  • Pregunta

  • quiero realizar una consulta a la base de datos buscar un elemento que se esta insertando y decir si ese elemento existe o no... si el resultado de la consulta es null entonces se incerta y si no pues no ... 

    using (SqlConnection con = conexion.cadena())
                {
                   
                    string query = "SELECT RFC_PROV FROM PROVEEDORES WHERE RFC_PROV = '" + rfc + "'";

                    MessageBox.Show("SELECT RFC_PROV FROM PROVEEDORES as result WHERE RFC_PROV = RFC_PROV ");
                    if (query != null)
                    {
                        MessageBox.Show("el proveedor ya existe");

                    }
                    else
                    {
                        SqlCommand com = new SqlCommand(string.Format("Insert Into PROVEEDORES (NOMCORTO, EMAIL_PROV, FAX_PROV, RFC_PROV, TOP_COMP, DIAS_CRED, SECTCOM_PROV, DESC_PROV) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')  Insert Into CONTACTO(APPCONTACTO, APMCONTACTO, NOMCONTACTO, NSSCONTACTO, CURPCONTACTO, TELCONTACTO, CELCONTACTO, EMAICONTACTO) values ('{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}')",
                        prov.NOMCORTO, prov.EMAIL_PROV, prov.FAX_PROV, prov.RFC_PROV, prov.TOP_COMP, prov.DIAS_CRED, prov.SECTCOM_PROV, prov.DESC_PROV, prov.DESC_PROV, prov.APPCONTACTO, prov.APMCONTACTO, prov.NOMCONTACTO, prov.NSSCONTACTO, prov.NSSCONTACTO, prov.CURPCONTACTO, prov.TELCONTACTO, prov.CELCONTACTO, prov.EMAICONTACTO), con);
                        retorn = com.ExecuteNonQuery();
                    }

                }
                return retorn;

    Este es mi código espero me puedan ayudar sin usar procedimiento alamacenado!!


    SG

    lunes, 23 de septiembre de 2019 19:17

Todas las respuestas

  • hola

    Tienes que usar parametros, no se concatenan los valores en el string

    using (SqlConnection con = conexion.cadena())
    {
       
    	string query = "SELECT Count(*) FROM PROVEEDORES WHERE RFC_PROV = @rfc";
    	SqlCommand cmd = SqlCommand(query, con);
    	cmd.Parameters.AddWithValue("@rfc", rfc);
    	
    	int cantidad = Convert.ToInt32(cmd.ExecuteScalar());
    	
    	if (cantidad > 0)
    	{
    		MessageBox.Show("el proveedor ya existe");
    		return;
    	}	
    	
    	
    	//aqui realizas el insert
    	
    	
    }

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta CrysisDeveloper lunes, 23 de septiembre de 2019 23:11
    lunes, 23 de septiembre de 2019 19:34