Archivo

Entradas Etiquetadas ‘source’

Como usar Max, Min, Sum, Avg, Count en un DataSet [VB.Net]

Sábado, 30 de abril de 2011 2 comentarios

En SQL para mostrar el numero maximo de una columna (en este caso el sueldo) lo que hacemos es poner una consulta similar a esta:

select Max(sueldo) from empleados;


y para el minimo(Min), suma(Sum), media(Avg) y el total de registros(count):

--Sueldo minimo
select Minx(sueldo) from empleados;

--Suma de todos los Sueldos
select Sum(sueldo) from empleados;

--Media de todos los sueldos
select Avg(sueldo) from empleados;

--El numero total de empleados
select Count(sueldo) from empleados;
--otra forma de hacer el Count
select Count(*) from empleados;



Para hacer la consulta en un DataSet tenemos que hacer utilizar Compute en vez de un Select de la siguiente forma:

Dataset.Tabla("nombre o numero").Compute("Lo_que_quieres(columna)", "filtro")


Quedandonos una consulta para buscar el maximo numero de IDAlumno asi:

maximo_id = DScolegio.Tables("alumnos").Compute("MAX(IDAlumno)", "")


Noten que no le estoy poniendo ningun filtro, pero si le quieren poner para que solo cuente de los que son de la clase numero 2 (NumClase=2) podria quedar asi:

maximo_id = DScolegio.Tables("alumnos").Compute("MAX(IDAlumno)", "NumClase=2")



En caso del Count podemos hacerlo de 3 formas distintas:


Primero con Compute: (ya que vimos el ejemplo anterior)

total_alumnos = DScolegio.Tables("alumnos").Compute("count(IDAlumno)", "")

'Tambien funciona de esta Forma:
total_alumnos = DScolegio.Tables("alumnos").Compute("count(*)", "")


Ahora con un Select y Count:

total_alumnos = DScolegio.Tables("alumnos").Select().Count

'Ahora con una Condicion:
total_alumnos = DScolegio.Tables("alumnos").Select("IDClase=2").Count


Por ultimo con un Select y Lenght :

total_alumnos = DScolegio.Tables("alumnos").Select().Length

'Ahora con una Condicion:
total_alumnos = DScolegio.Tables("alumnos").Select("IDClase=2").Length


Crear/agregar una nueva fila en un DataSet [VB.Net]

Viernes, 29 de abril de 2011 4 comentarios

Para crear/agregar una nueva fila en una tabla del DataSet hay que agregar el siguiente codigo :


Mi DataSet se llama: DSColegio
La tabla del DataSet donde crearemos la nueva fila es: alumnos


Los txtxxxxxxxx.text son los TextBox donde tengo metidos los datos del nuevo alumno, aqui deberan poner los datos que quieran insertar ya sea pasandoselos por variable o como hago yo cogiendo lo que tenga metido en el TextBox.


Tambien debemos pasarle los nombre de las columnas de la tabla de la siguiente forma fila(“xxxxxx”) o sino con el numero de la columna de esta forma fila(0) , fila(1) , etc .


'Declarar Filas como DataRow
        Dim fila As Data.DataRow

        'Asignamos a fila la nueva Row(Fila)del Dataset
        fila = Me.DScolegio.Tables("alumnos").NewRow

        'Agregamos los valores a los campos de la tabla
        fila("IDAlumno") = Me.txtidalumno.Text
        fila("IDClase") = Me.txtidclase.Text
        fila("Nombre") = Me.txtnombre.Text
        fila("PrimerApellido") = Me.txtprimerapellido.Text
        fila("SegundoApellido") = Me.Txtsegundoapellido.Text
        fila("DNI") = Me.txtdni.Text
        fila("FechaNacimiento") = Me.Txtnacimiento.Text
        fila("Direccion") = Me.TxtDireccion.Text
        fila("Telefono") = Me.txttelefono.Text
        fila("email") = Me.txtemail.Text

        'Agregamos la fila que acabamos de crear a nuestra tabla del DataSet
        Me.DScolegio.Tables("alumnos").Rows.Add(fila)

Limpiar todos los Textbox de un GroupBox [VB.Net] (Windows Forms)

Viernes, 29 de abril de 2011 1 comentario

Aqui vamos a limpiar el texto de todos los Textbox  que estan dentro de un GroupBox , para ello vamos a crear un control desde donde podremos poner el texto que queramos dentro de los textbox o simplemente lo que buscamos LIMPIARLOS :


El GroupBox donde estan los textbox que queremos limpiar se llama:
GrpDatosCliente


  Dim obj As Control
        For Each obj In Me.GrpDatosCliente.Controls
            If TypeOf (obj) Is TextBox Then
                obj.Text = ""
            End If
        Next



Si ademas de eso queremos que en los textbox se pueda escribir (en caso que tengan la propiedad de ReadOnly en True) tenemos que agregar la siguiente linea dentro de la condicion:

CType(obj, TextBox).ReadOnly = False



Quedandonos el codigo completo de la siguiente manera:

Dim obj As Control
        For Each obj In Me.GrpDatosClientes.Controls
            If TypeOf (obj) Is TextBox Then
                obj.Text = ""
                CType(obj, TextBox).ReadOnly = False
            End If
        Next