sábado, 15 de diciembre de 2012

C# JavaScript Alert

Para mostrar una alerta de JavaScript desde código C# se realiza con el siguiente comando:
ClientScript.RegisterStartupScript(this.GetType(), "PopupScript", "<script languaje=javascript>javascript:alert('Este es un mensaje')</script>");

sábado, 8 de diciembre de 2012

VBNET. Regiones

Para agrugar regiones de código lo hacemos de la siguiente manera:

#Region "Nombre de la region"
...
#End Region


Esto es útil para mantener agrupadas ciertas secciones de código que están relacionadas con algún proceso, o quizá simplemente para poder ocultar la definición de ciertas funciones.

sábado, 1 de diciembre de 2012

SQL. Exists

Podemos hacer uso de la palabra reservada EXISTS para saber si una consulta devuelve registros.

Ejemplo:
IF EXISTS(SELECT * FROM tblUsuarios WHERE Nombre = 'Alonso')
  --Existe por lo menos un usuario con el nombre de Alonso
ELSE
  --No existen usuarios con el nombre Alonso

La función EXISTS() devolverá TRUE si la consulta encuentra uno o mas resultados, y devolverá FALSE si la consulta no devuelve registros.

sábado, 24 de noviembre de 2012

C# Propiedades de una clase

Las propiedades de una clase se agregan de la siguiente manera:
class clsAlumno
{
  private string strNombre;  //En esta variable guardaremos el nombre del alumno

  public string Nombre
  (
    get { return strNombre; }  //Devuelve el valor de la variable strNombre
    set { strNombre = value; }   //Asigna el valor a la variable strNombre
  )
}

Una vez creado el objeto oAlumno de la clase clsAlumno, asignamos el valor a la propiedad Nombre de la siguiente manera:
oAlumno.Nombre = "Salvador";

Para acceder al valor guardado en la propiedad Nombre, se realiza de la siguiente manera:
lblNombre.Text = oAlumno.Nombre;

domingo, 18 de noviembre de 2012

C#. Envio de excepciones de error

Para poder enviar mensajes de error, hacemos uso de la siguiente sentencia:
throw new Exception("ERROR PERSONALIZADO");

domingo, 11 de noviembre de 2012

Repeater - LinkButton

Este es un ejemplo de como hacer uso de un LinkButton que se encuentra dentro de un Repeater.

La idea es saber en que LinkButton del Repeater hicimos click, para ello debemos asignarle al LinkButton alguna clave; esta clave la asignaremos en la propiedad CommandArgument:
<asp:LinkButton ID="LinkButton" runat="server" Text="Click" CommandArgument='<%# Eval("Clave") %>'></asp:LinkButton>

Posteriormente podemos acceder a este dato en el evento ItemCommand del Repeater, este evento se ejecutará cada vez que demos un clic sobre cualquier LinkButton:

    protected void Repeater_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
      int intClave = Convert.ToInt32(e.CommandArgument);
      // CODIGO
    }

domingo, 4 de noviembre de 2012

Repeater - Cargar información

Para enviar información a un Repeater se hace uso de las siguientes líneas:
Repeater.DataSource = [FUENTE];
Repeater.DataBind();

Donde:
[FUENTE]: Es la fuente de información, esta puede ser un DataTable o un DataSource

viernes, 19 de octubre de 2012

C#. Convertir de String a Int

La conversión de un String a Int se realiza de la siguiente manera:
intNumero = Convert.ToInt32(strNumero);

martes, 16 de octubre de 2012

SQL. Asignación de variables

La asignación de valores a variables en SQL se realiza de la siguiente manera:
SET @[variable] = [valor]

Ejemplo:
SET @Edad = 32
SET @Fecha = '2012-02-12'
SET @Nombre = 'Simon'

sábado, 13 de octubre de 2012

SQL. Store procedures

La sintaxis para crear un store procedure es la siguiente:
CREATE PROCEDURE [nombre] AS
BEGIN
  --Codigo
END

Ejemplo:
CREATE PROCEDURE spHola AS
BEGIN
  DECLARE @Hola VARCHAR(20)
  SET @Hola = 'Hola!'
  SELECT @Hola
END

Las palabras reservadas BEGIN - END se pueden omitir, así como la palabra PROCEDURE se puede abreviar por PROC

Ejemplo:

CREATE PROC spHola AS
  DECLARE @Hola VARCHAR(20)
  SET @Hola = 'Hola!'
  SELECT @Hola

domingo, 9 de septiembre de 2012

Cadena de conexión SQL

La cadena de conexión permite que una aplicación se conecte a una base de datos SQL Server. Su estructura es la siguiente:

Data Source=SERVER;Initial Catalog=DATABASE;User Id=USER;Password=PASS;

Significado de cada parte:

  • Data Source=SERVER
    Indica el nombre del servidor SQL al que queremos conectarnos. Puede ser un nombre de máquina, una dirección IP o una instancia específica del servidor.

  • Initial Catalog=DATABASE
    Especifica el nombre de la base de datos dentro del servidor a la que se desea acceder.

  • User Id=USER
    Corresponde al nombre del usuario con permisos para conectarse al servidor SQL.

  • Password=PASS
    Es la contraseña del usuario que permitirá la autenticación en el servidor.

Ejemplo práctico:
Si tienes un servidor llamado MiServidor, una base de datos llamada Ventas, y un usuario Admin con contraseña 1234, la cadena de conexión sería:

Data Source=MiServidor;Initial Catalog=Ventas;User Id=Admin;Password=1234;

Esta cadena se puede usar en aplicaciones para establecer la conexión y realizar operaciones como consultas, inserciones o actualizaciones en la base de datos.

sábado, 1 de septiembre de 2012

SQL. Declarar variables

La declaración de variables en SQL se hace con la siguiente sintaxis:
DECLARE @[NombreVariable] [Tipo]

Ejemplo:
DECLARE @Edad INT
DECLARE @Nombre VARCHAR(40)
DECLARE @Fecha DATETIME

Para inicializar una variable con un valor, se puede hacer de la siguiente manerea:
SET @[NombreVariable] [Tipo] = [Valor]

Ejemplo:
DECLARE @Edad INT = 49
DECLARE @Nombre VARCHAR(40) = 'Zeus'
DECLARE @Fecha DATETIME = '2012-09-01'

domingo, 26 de agosto de 2012

SQL. Listar todos los procedimientos de nuestra base de datos

Para poder obtener un listado de todos los procedimientos almacenados en nuestra base de datos se ejecuta el siguiente query:
SELECT * FROM INFORMATION_SCHEMA.ROUTINES

Esto, además de darnos el listado de procedimientos, también nos dará el código de los procedimientos

sábado, 25 de agosto de 2012

SQL. Tipos de datos

Aqui enlisto los tipos de datos mas comunes que se utilizan para SQL

BIT - Booleano (1 y 0)
INT - Enteros
TINYINT - Numeros pequeños
BIGINT - Numeros grandes
DATETIME - Fechas
VARCHAR(N) - Texto de N caracteres
CHAR - Carácter


domingo, 19 de agosto de 2012

C#. ComboBox

Las siguientes líneas sirven para agregar elementos a un ComboBox:
cboLecturas.Items.Add("Libro 1");
cboLecturas.Items.Add("Libro 2");
cboLecturas.Items.Add("Libro 3");

La siguiente línea es para borrar todos los elementos de un ComboBox:
cboLecturas.Items.Clear();

Para seleccionar un elemento del ComboBox mediante código se utiliza la siguiente línea:
cboLecturas.SelectedIndex = INDICE;

Donde INDICE es la posición del elemento, comenzando desde 0. 
Por lo que siguiendo el ejemplo, para seleccionar el elemento "Libro 2" asignamos el indice 2:
cboLecturas.SelectedIndex = 2:

Para no seleccionar algún elemento por omisión, se asigna el índice -1:
cboLecturas.SelectedIndex = -1:
Así nuestro ComboBox aparecería en blanco y el usuario tendría que seleccionar un elemento del listado.

sábado, 11 de agosto de 2012

C#. MessageBox

Para mostrar una caja de mensaje en C# se utiliza la siguiente sentencia:
MessageBox.Show(MENSAJE);

Ejemplo:
MessageBox.Show("Este es un mensaje");

sábado, 21 de abril de 2012

C#. Métodos

La sintaxis básica de un método es la siguiente
[public/private] void NOMBRE_METODO()
{
  //Operaciones
}


La palabra reservada void nos indica que nuestro método no devolverá ningún valor.
Ejemplo:
private void Mover()
{
  //Operaciones
}


Si nuestro queremos que nuestro método devuelva algún valor de regreso, debemos indicar el tipo de dato que devolverá; por ejemplo:
public int Segundos()
{
  //Operaciones
  return intSegundos;
}


private string MiNombre()
{
  //Operaciones
  return strMiNombre;
}

VBNET. Clases


La sintaxis para crear una clase en VBNET es la siguiente:
[Public] Class [NombreClase]
  //Variables


  //Funciones
End Class


Donde:
  [public] Indica que podremos hacer uso de la clase desde cualquier proyecto. Si se omite, solo podremos acceder a esta clase dentro del mismo proyecto.
  [NombreClase] Es el nombre de nuestra clase


Ejemplo:


  Public Class Auto
    Public intAvanzar As Integer


    Public Sub Avanzar()
      intAvanzar += 1
    End Sub
  End Class

jueves, 19 de abril de 2012

C#. Clases

La sintaxis para crear una clase en C# es la siguiente:
[public] class [NombreClase]
{
  //Variables


  //Funciones
}


Donde:
  [public] Indica que podremos hacer uso de la clase desde cualquier proyecto. Si se omite, solo podremos acceder a esta clase dentro del mismo proyecto.
  [NombreClase] Es el nombre de nuestra clase


Ejemplo:

  public class Auto
  {
    private int intVelocidad;
    public void Avanzar()
    {
      intVelocidad++;
    }
  }

miércoles, 18 de abril de 2012

VBNET. Concatenar cadenas


Tenemos dos formas de concatenar cadenas,


El primer método es el siguiente:
strCadena = strCadena & " mundo!"


El segundo método es el siguiente:
strCadena &= " mundo!"


Ambos métodos hacen la misma operación.

martes, 17 de abril de 2012

C#. Concatenar cadenas

Tenemos dos formas de concatenar cadenas,


El primer método es el siguiente:
strCadena = strCadena + " mundo!";


El segundo método es el siguiente:
strCadena += " mundo!";


Ambos métodos hacen la misma operación.

lunes, 16 de abril de 2012

VB.NET. Operaciones sobre variables

VB.NET nos proporciona dos métodos diferentes para incrementar una variable.



La forma mas conocida es la siguiente:
intNumero = inNumero + 1


El segundo método de hacer esta misma operación es la siguiente:
intNumero += 1


Estos dos métodos también funcionan con los operadores (-) (*) y (/)
intNumero = intNumero - 1
intNumero -= 1


intNumero = intNumero * 3
intNumero *= 3

intNumero = intNumero / 3
intNumero /= 3

domingo, 15 de abril de 2012

C#. Operaciones sobre variables

C# nos proporciona tres métodos diferentes para incrementar una variable.


La forma mas conocida es la siguiente:
intNumero = inNumero + 1;


El segundo método de hacer esta misma operación es la siguiente:
intNumero += 1;


Y un tercer método es el siguiente:
intNumero++;


El inconveniente con este tercer método es que solo sirve para incrementar el valor en 1.


Estos tres métodos también funcionan con el operador (-)
intNumero = intNumero - 1;
intNumero -= 1;
intNumero--;


Para los operadores (*) y (/) solo funcionan los dos primeros métodos:
intNumero = intNumero * 3
intNumero *= 3;

intNumero = intNumero / 3
intNumero /= 3;

sábado, 10 de marzo de 2012

SQL. Condicional IF

La sintaxis de la condicional IF es la siguiente:
IF [CONDICION]
   [SENTENCIA 1]
ELSE
   [SENTENCIA 2]


Si la [CONDICION] es verdadera se ejecuta la [SENTENCIA 1], si es falsa se ejecuta la [SENTENCIA 2]. 


Ejemplo:
IF [@Valor > 1]
  PRINT 'Es mayor a 1'
ELSE
  PRINT 'No es mayor a 1'


La sentencia ELSE es opcional, por lo que nuestro IF pudiera quedar de la siguiente manera:

IF [CONDICION]
   [SENTENCIA 1]


Si se requiere ejecutar un bloque de sentencias en lugar de solo una se deben poner las palabras reservadas BEGIN y END
IF [CONDICION]

 BEGIN
   [SENTENCIA 1]
   ...
   [SENTENCIA N]
 END


Lo mismo aplicaría si se incluye el ELSE

ELSE
 BEGIN
   [SENTENCIA 1]
   ...
   [SENTENCIA N]
 END


viernes, 9 de marzo de 2012

SQL. Usuarios conectados

Para desplegar todas las conexiones activas a nuestro servidor SQL se hace uso del siguiente store procedure que viene predefinido en el SQL Server:
sp_who

jueves, 8 de marzo de 2012

VB6. Función Mid

Esta función nos sirve para obtener una subcadena de una cadena principal.


Su sintaxis es la siguiente:
Mid(CADENA, POSICION_INICIAL, CANTIDAD_CARACTERES)


Donde:
POSICION_INICIAL: Es la posición a partir de la cual se obtendrá la subcadena
CANTIDAD_CARACTERES: Es la cantidad de caracteres que se obtendrán de la cadena principal, si se omite se obtendrán todos los caracteres que estén a partir de la POSICION_INICIAL


Ejemplo:
Mid("Esta es una cadena", 6, 2)    'Devuelve: es
Mid("Esta es otra cadena", 9)      'Devuelve: otra cadena

miércoles, 7 de marzo de 2012

SQL. Comentarios

Hay dos maneras de poner comentarios en SQL:


1. Comentarios en una sola línea (--)
Esta instrucción es para poner comentarios en una sola línea, ejemplo:
--Este es un comentario
Aquí se tomará como comentario todo lo que esté a la derecha del --


2. Comentarios en bloque (/* */)
Esta instrucción sirve cuando se requiere poner todo un bloque de comentarios el cual puede abarcar varios renglones, ejemplo:
/* Este
es
otro
comentario
*/
Aquí se tomará como comentario todo lo que este entre /* y */

martes, 6 de marzo de 2012

SQL. Desplegar columnas de una tabla

Para desplegar las columnas de una tabla así como sus propiedades, tales como el tipo de dato, tamaño máximo, etc; se hace uso del siguiente query:
  SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Tabla'

lunes, 5 de marzo de 2012

SQL. Variables tipo TABLE

Las variables tipo TABLE funcionan como tablas temporales, por lo que a estas tablas temporales se les pueden agregar, quitar o modificar registros. Además, dado que es una variable, el alcance de nuestra tabla temporal será igual que cualquier otra variable, es decir, una vez terminado nuestro procedimiento la tabla temporal ya no estará disponible para hacer uso de ella.

La sintaxis es la siguiente:
DECLARE [Variable] TABLE (
    [Campo1] [TipoDato] ,
    ...
    [CampoN] [TipoDato]
)


Ejemplo:
DECLARE @Usuarios TABLE (
    Clave INT,
    Nombre VARCHAR(30)
)


Para agregar, quitar O modificar un registro se hace de la misma manera que como se haría sobre una tabla "real"
INSERT INTO @Usuarios (Clave, Nombre) VALUES ('1', 'Román')
UPDATE @Usuarios SET Nombre = 'Jessica' WHERE Clave = 3

domingo, 4 de marzo de 2012

SQL. Desplegar todas las tablas

Para desplegar un listado con todas las tablas que estan registradas en nuestra base de datos podemos hacer uso del siguiente query:
   SELECT * FROM INFORMATION_SCHEMA.TABLES

domingo, 26 de febrero de 2012

SQL. Campos identity

Los campos identity son campos autoincrementales, es decir, que cada vez que se inserte un nuevo a registro a nuestra tabla, este campo se incrementará automáticamente funcionando como una especie de ID.


La sintaxis sería la siguiente:
CREATE TABLE [tabla]
(
  [CampoIdentity] INT IDENTITY ([valor_inicial], [valor_a_incrementar])
)


Donde:
  [valor_incial]: Indica el número con el que comenzará nuestro campo
  [valor_a_incrementar]: es la cantidad en que se incrementará automáticamente nuestro campo cada vez que insertemos un nuevo registro


Ejemplo:
CREATE TABLE [tblUsuario]
(
  [ID] INT IDENTITY(1,1),
  [Usuario] VARCHAR(100)
)


Siguiendo nuestro ejemplo, cuando insertemos un usuario ése comenzara con el ID 1 ( IDENTITY(11) )
  INSERT INTO [tblUsuario] ([Usuario]) VALUES ('Alejandro')
  --Se guardará con el ID = 1


Al insertar un segundo usuario, el campo se autoincrementará automáticamente en 1 tal como se le especificamos al declarar el campo ( IDENTITY(1, 1) )

  INSERT INTO [tblUsuario] ([Usuario]) VALUES ('Elsa')
  --Se guardará con el ID = 2