none
Como como hacer el llamado de una clase RRS feed

  • Pregunta

  • veran tengo una clase, qe se conecta con mi base de datos, mi intencion es camabiar la ruta dela ip para que pueda conectarse, tengo un login donde tengo un textbox que indica agregar la ip adonde debe conectarse no tengo idea como integrarlo , donde esta la ip 127.0.0.1 deceo cambiarlo desde mi textbox del formulario, estes mi codigo:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Configuration;
    using MySql.Data.MySqlClient;

    namespace Sales_System
    {


        public static class Login
        {
         
            public static bool Autenticar(string usuario, string password)
            {
                
                MySqlConnection con = new MySqlConnection("DataBase=bd_venta;Data Source=127.0.0.1;User Id=c&mc;Password=cmc0612;");
                MySqlCommand cmd = new MySqlCommand("Select * from usuarios_mercancias where user_alias = ?usuario AND user_pass = ?password;");
                cmd.Connection = con;
                con.Open();
                
                cmd.Parameters.AddWithValue("?usuario", usuario);
                cmd.Parameters.AddWithValue("?password", password);
             
                MySqlDataReader reader = cmd.ExecuteReader();
                if (reader.Read() != false)
                {
                    if (reader.IsDBNull(0) == true)
                    {
                        cmd.Connection.Close();
                        reader.Dispose();
                        cmd.Dispose();
                        return false;
                    }
                    else
                    {
                        cmd.Connection.Close();
                        reader.Dispose();
                        cmd.Dispose();
                        return true;
                    }
                }
                else
                {
                    return false;
                }
            }
            
        }
    }


    • Editado ChrisDraven miércoles, 5 de junio de 2013 3:09
    miércoles, 5 de junio de 2013 3:06

Todas las respuestas

  • No se si entendi bien lo que necesitas haccer, pero no podes concatenar la cadena de conexion, si al metodo le agregas al parametro que capturas en el texbox donde elegis la IP.

    Quedaria : 

      public static bool Autenticar(string usuario, string password, string nuevaIP)
            {
                
                MySqlConnection con = new MySqlConnection("DataBase=bd_venta;Data Source=" +nuevaIP + ";User Id=c&mc;Password=cmc0612;");

    Saudos!


    Patricio Urbieta

    miércoles, 5 de junio de 2013 3:18
  • podrias hacer

    string connstring = "DataBase=bd_venta;Data Source={0};User Id=c&mc;Password=cmc0612;"
    connstring = string.Format(connstring, Textbox1.Text)
    
    MySqlConnection con = new MySqlConnection(connstring);


    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 5 de junio de 2013 3:34
  • me da  un error que no es soportado.... de echo ya lo habia intenado  pero no me da un error
    miércoles, 5 de junio de 2013 4:15
  • sr. leoandro el detalle es que la conexion lo ago desde una clase.... intente acer lo como usted me sugiere pero me da errores
    miércoles, 5 de junio de 2013 4:16
  • ntente acer lo como usted me sugiere pero me da errores

    que errores se producen ?

    como es que unes esa ip al string que forma la cadena de conexion


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 5 de junio de 2013 4:42
  • si lo que pasa que tengo una clase que conecta con la base de datos, mi clase se llama login, y tengo un winforms q se llama  vtna_inicio donde tengo 2 textbox y 2 botones, el boton de aceptar busca la base y analiza si el usuario esta bien y la contraseña este es mi codigo:

                                           

            private void btn_aceptar_Click(object sender, EventArgs e)
            {

                string usuario = txt_usuario.Text;
                string password = txt_pass1.Text;


                if (Login.Autenticar(usuario, password))
                    this.DialogResult = DialogResult.OK;

                else
                {
                    this.DialogResult = DialogResult.Abort;
                }

            }

    pero dentro del login tengo un boton que se llama btn_configuracion, esto es para direccionar la aplicacion acia q ip deceo que se conecte, al dar clik aparece un aventana con un textbox donde se digitara la IP y dos botones q es aceptar y cancelar, mi intencion es que en la clase Login pueda cambiar la ip de esta manera:

     public static bool Autenticar(string usuario, string password)
            {
             string nuevaip
                MySqlConnection con = new MySqlConnection("DataBase=bd_venta;Data Source="?nuevaip";User Id=c&mc;Password=cmc0612;");
                MySqlCommand cmd = new MySqlCommand("Select * from usuarios_mercancias where user_alias = ?usuario AND user_pass = ?password;");
                
                cmd.Connection = con;
                con.Open();
                
                cmd.Parameters.AddWithValue("?usuario", usuario);
                cmd.Parameters.AddWithValue("?password", password);
             cmd.Parameters.AddWithValue("?nuevaip", nuevaip);
                MySqlDataReader reader = cmd.ExecuteReader();
                if (reader.Read() != false)
                {
                    if (reader.IsDBNull(0) == true)
                    {
                        cmd.Connection.Close();
                        reader.Dispose();
                        cmd.Dispose();
                        return false;
                    }
                    else
                    {
                        cmd.Connection.Close();
                        reader.Dispose();
                        cmd.Dispose();
                        return true;
                    }
                }
                else
                {
                    return false;
                }

    jueves, 6 de junio de 2013 1:15
  • esto

    ("DataBase=bd_venta;Data Source="?nuevaip";User Id=c&mc;Password=cmc0612;"

    no funciona, no se pueden definir parametros en el connection string

    lo que no veo alli es que tomes ese nuevaip de nigun lado, ni siquiera lo paras como argumento en la funcion

    string connstring = string.format("DataBase=bd_venta;Data Source={0};User Id=c&mc;Password=cmc0612;", nuevaip);

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 6 de junio de 2013 2:47