jueves, 12 de abril de 2012

Clase Conexion Windows mobile


using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlServerCe;

namespace ManejoDeGraficos
{
    class Conexion
    {
        String database;
       
        SqlCeConnection conexion;
        SqlCeCommand cmd;

        public Conexion(String database)
        {
            this.database = database;
        }
        //Constructor que se encarga de hacer la conexion a la base de datos
        public void Conectar()
        {
         
           conexion = new SqlCeConnection();
           cmd = new SqlCeCommand();
           conexion.ConnectionString = "Data Source=" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\" + this.database + ".sdf";
           conexion.Open();
         
        }

        //Consulta que retorna un solo registro
        public string Consultar(string consulta, string campo)
        {
            this.Conectar();
            String no="no";
            cmd.CommandText = consulta;
            cmd.Connection = conexion;
            IDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                no = reader[campo].ToString();
            }
            reader.Close();
            return no;
        }

        //Devuelve un arreglo con los registros devueltos
        public String[] ConsultarVariosRegistros(String consulta, String campo)
        {
            this.Conectar();
            String[] registros = { "no" };
            int i=0;
            cmd.CommandText = consulta;
            cmd.Connection = conexion;
            IDataReader reader = cmd.ExecuteReader();
           
            while (reader.Read())
            {
                Array.Resize(ref registros, i+1);
                registros[i] = reader[campo].ToString();
                i++;
            }
            reader.Close();
            return registros;

        }

        //ejecuta consultas DML
        public string Insertar(string nom, int eda, string ced)
        {
            SqlCeConnection conexion = new SqlCeConnection();
            SqlCeCommand cmd = new SqlCeCommand();
            conexion.ConnectionString = "Data Source=" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\contactos.sdf";
            conexion.Open();
            cmd.CommandText = "INSERT INTO clientes VALUES(@cedula,@nombre, @edad)";
            cmd.Parameters.AddWithValue("@nombre", nom);
            cmd.Parameters.AddWithValue("@edad", eda);
            cmd.Parameters.AddWithValue("@cedula", ced);
           

            cmd.Connection = conexion;
            if (cmd.ExecuteNonQuery() > -1)
            {
               conexion.Close();
                return "Datos insertados con exito";
            }
            else
            {
                conexion.Close();
                return "No se insertaron los datos";
            }
        }

        public int ConsultaSinRetorno(String consulta)
        {
            this.Conectar();
            cmd.CommandText = consulta;
            cmd.Connection = conexion;
            int filas = cmd.ExecuteNonQuery();
            return filas;
        }

        //devuelve un datatable para cargarlo
        public DataTable seleccionar()
        {
            SqlCeConnection conect = new SqlCeConnection();
            SqlCeCommand comando = new SqlCeCommand();
            conect.ConnectionString = "Data Source=" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\contactos.sdf";
            conect.Open();
            comando.CommandText = "select * from clientes";
            comando.Connection = conect;
            DataTable tabla = new DataTable();
            tabla.Load(comando.ExecuteReader());
            return tabla;
        }
       


     

   
    }
}

No hay comentarios:

Publicar un comentario