[Ayuda]Como pasar este Constructor en Vb a C#

Iniciado por estebanvr, 12 Noviembre 2011, 05:50 AM

0 Miembros y 1 Visitante están viendo este tema.

estebanvr

Hola resulta que tengo un pequeño inconveniente a la hora de pasar un constructor en VB.NET a C#, el cual se encarga de pasar la cadena de conexion en una clase que tengo para la conexion a la base de datos, normalmente en VB.NET lo haria de la siguiente manera:

Código (vbnet) [Seleccionar]

Imports System.Windows.Forms
Public Class BD_Conexion
   Dim BD As New Data.SqlClient.SqlConnection
   Dim CadenaConexion As String

   Private Sub Conectar_BD()
       BD.ConnectionString = CadenaConexion
       BD.Open()
   End Sub

   Public Sub Desconectar_BD()
       BD.Close()
   End Sub

   Public Sub New(ByVal CadenaConexion As String)
       Me.CadenaConexion = CadenaConexion
   End Sub


End Class


Y a la hora de usar las funciones de mi clase lo haria de esta manera:

Código ( vbnet) [Seleccionar]

Friend BD As New Lib_Conexion.BD_Conexion("Aqui la cadena de conexion la cual se envia por medio del constructor")


Pero resulta que ahora estoy elaborando un proyecto universitario y no recuerdo ni encuentro por ningún sitio como hacer esto en C#.NET, agradecería que me echaran una mano.

Lo que tengo hasta el momento es esto

Código ( c#net) [Seleccionar]


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data .SqlClient ;
using System.Data.SqlTypes;
using System.Data;

namespace Lib_BaseDatos
{

   public class Lib_Conexion
   {
        SqlConnection BD = new SqlConnection();
       string Cadena_Conexion="";

       private void Conectar_BD()
       {
           BD.ConnectionString = Cadena_Conexion;
           BD.Open();
       }

       void Desconectar_BD()
       {
           BD.Close();
       }

       public void Sql_Ejecuta_Instruccion(string Sqlinstruccion)
       {
           Conectar_BD();
           SqlCommand Comando = new SqlCommand(Sqlinstruccion, BD);
           Comando.ExecuteNonQuery();
           Desconectar_BD();
       }

       public void Llenar_Ds(System.Data.DataSet Ds, string Sqlinstruccion)
       {
           Conectar_BD();
           SqlDataAdapter Adaptador = new SqlDataAdapter(Sqlinstruccion, BD);
           Adaptador.Fill(Ds);
           Desconectar_BD();
       }

       public Boolean Dato_Repetido(string Tabla, string PrimaryKey, string Valor) {
           string sqlinstruccion="";
           DataSet ds = new DataSet();

           sqlinstruccion = "select * from " + Tabla + " where " + PrimaryKey + " = '" + Valor + "'";
         
          Llenar_Ds (ds, sqlinstruccion );
           
           if(ds.Tables[0].Rows .Count > 0){
           
               return true;
           }
           else
               {
               return false;
               }    
       }

       public string Averigua_Consecutivo(string Tabla, string PrimaryKey) {
           string sqlinstruccion = "";
           DataSet ds = new DataSet();

           sqlinstruccion = "select isnull (max(" + PrimaryKey  + "),0) + 1 from " + Tabla ;
           Llenar_Ds(ds, sqlinstruccion);

           return ds.Tables[0].Rows[0].ItemArray [0].ToString ();
       }
    }}


Lo que no tengo idea es como usar un constructor para poder pasar mi cadena, lo estaba declarando de la siguiente manera:

Código ( vbnet) [Seleccionar]

    public new (string Cadena_Conexion){
   this .Cadena_Conexion= Cadena_Conexion;
   }


Pero me saltan multiples errores, espero me ayuden a traducir esa porcion de codigo,
saludos y gracias

estebanvr

Al fin, Resuelta por mi XD

Código (vbnet) [Seleccionar]

     public Lib_Conexion(string Cadena_Conexion) {
        this.Cadena_Conexion = Cadena_Conexion;
    }


Asi quedaria mi clase con la cual realizo la conexion:


Código (vbnet) [Seleccionar]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data .SqlClient ;
using System.Data.SqlTypes;
using System.Data;

namespace Lib_BaseDatos
{

    public class Lib_Conexion
    {
         SqlConnection BD = new SqlConnection();
        string Cadena_Conexion="";

        private void Conectar_BD()
        {
            BD.ConnectionString = Cadena_Conexion;
            BD.Open();
        }

        void Desconectar_BD()
        {
            BD.Close();
        }

        public void Sql_Ejecuta_Instruccion(string Sqlinstruccion)
        {
            Conectar_BD();
            SqlCommand Comando = new SqlCommand(Sqlinstruccion, BD);
            Comando.ExecuteNonQuery();
            Desconectar_BD();
        }

        public void Llenar_Ds(System.Data.DataSet Ds, string Sqlinstruccion)
        {
            Conectar_BD();
            SqlDataAdapter Adaptador = new SqlDataAdapter(Sqlinstruccion, BD);
            Adaptador.Fill(Ds);
            Desconectar_BD();
        }

        public Boolean Dato_Repetido(string Tabla, string PrimaryKey, string Valor) {
            string sqlinstruccion="";
            DataSet ds = new DataSet();

            sqlinstruccion = "select * from " + Tabla + " where " + PrimaryKey + " = '" + Valor + "'";
           
           Llenar_Ds (ds, sqlinstruccion );
           
            if(ds.Tables[0].Rows .Count > 0){
             
                return true;
            }
            else
                {
                return false;
                }     
        }

        public string Averigua_Consecutivo(string Tabla, string PrimaryKey) {
            string sqlinstruccion = "";
            DataSet ds = new DataSet();

            sqlinstruccion = "select isnull (max(" + PrimaryKey  + "),0) + 1 from " + Tabla ;
            Llenar_Ds(ds, sqlinstruccion);

            return ds.Tables[0].Rows[0].ItemArray [0].ToString ();
        }

         public Lib_Conexion(string Cadena_Conexion) {
        this.Cadena_Conexion = Cadena_Conexion;
    }
     }
}



y Asi hago una instancia de la clase:

Código (vbnet) [Seleccionar]

Lib_BaseDatos.Lib_Conexion BD = new Lib_BaseDatos.Lib_Conexion("Aqui va el string connection XD");