C# y SQL Sever

Aquí, un pequeño ejemplo de como hacer consultas a una base de datos de SQL Sever:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
//-- son necesarias para conexión y comandos sql:
using System.Data;
using System.Data.SqlClient;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //-- fijate en el parametro database, escribe el nombre de tu bd
            //-- yo tengo una llamada alumnos, por eso database=alumnos
            string connString = "server=(local)\\SQLEXPRESS;database=alumnos;Integrated Security=SSPI;";
 
            //-- aquí empieza lo bueno
            SqlConnection conn = new SqlConnection(connString);
 
            try
            {
                //-- se abre la conexión
                conn.Open();
                Console.WriteLine("Conexión Abierta.");
                Console.WriteLine();
                //-- declaro el comando sql que ejecutaré
                SqlCommand comando = new SqlCommand("Select * From alumnos", conn);
 
                //-- leemos los datos
                SqlDataReader reader = comando.ExecuteReader();
                while (reader.Read())
                {
                    Console.WriteLine(reader[0]);
                    Console.WriteLine(reader[1]);
                    Console.WriteLine(reader[2]);
                    Console.WriteLine();
                }
            }
            catch (SqlException e)
            {
                //-- si algo salio mal
                Console.WriteLine("Error: " + e);
            }
            finally
            {
                //-- cierro la conexion
                conn.Close();
                Console.WriteLine();
                Console.WriteLine("Conexión cerrada.");
            }
        }
    }
}

Tablas temporales con SQL

Crear tablas temporales en SQL, es realmente sencillo, y son útiles por si solo quieres usarlas momentáneamente para almacenar datos y luego borrarlas, cuando ya no las necesites.

En otras palabras, no se guardan en tus bases de datos, y solo funcionan mientras la sesión este abierta.

Un ejemplo simple:

create table #padres(
id_padre int,
nombre varchar(15),
apellido varchar(15),
direccion varchar(max),
telefono varchar(12),
primary key(id_padre)
)

La clave el símbolo numeral (#) que acompaña al nombre de la tabla temporal.

create table #padres

Después de eso todo es como siempre… el código completo:

create table #padres(
id_padre int,
nombre varchar(15),
apellido varchar(15),
direccion varchar(max),
telefono varchar(12),
primary key(id_padre)
)
 
insert into #padres values(1,'Carlos','Martinez','San Salvador, El Salvador','2222-2222')
insert into #padres values(2,'Marlon','Aguilar','La Libertad, El Salvador','33333-3333')
insert into #padres values(3,'David','Gonzalez','San Vicente, El Salvador','4444-4444')
insert into #padres values(4,'Mateo','Ortíz','La Union, El Salvador','5555-5555')
 
select * from #padres

C# - Encontrar palabra en un string

Un ejemplo sencillo de como encontrar palabra(s) en un string (cadena de texto), con C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string s, r;
            int donde=0;
            bool existe = false;
 
            Console.Write("escriba una frase: ");
            s = Console.ReadLine();
            Console.Write("escriba frase a encontrar: ");
            r = Console.ReadLine();
 
            string[] frase = s.Split(new char[] { ' ' });
            for (int i = 0; i < frase.Length; i++)
            {
                if (r == frase[i])
                {
                    existe = true;
                    donde = i;
                }
            }
            Console.WriteLine();
            if (existe == true)
            {
                Console.WriteLine("Si existe, la palabra es: ");
                Console.WriteLine(frase[donde]);
            }
            else
            {
                Console.WriteLine("no existe");
            }
        }
    }
}

Pantalla blanca en Ubuntu Linux

Un día de estos estuve traveseando el Compiz-fusion, para ponerle un poco de fantasia y efectos alucinantes a mi Ubuntu Linux. Realmente no recuerdo que fue lo que cambie o arruine; el asunto es que después de unas horas volví a encender mi maquina. El arranque iba normal; después introduje mi usuario y contraseña… todo seguía normal, hasta que una vez, cargado el sistema, mi pantalla se puso completamente blanca, y sin (aparentemente) una opción para trabajar en el sistema.

Como lo dije anteriormente, no recuerdo que fue lo que cambie en las configuraciones de compiz, pero si encontré la solución:

  • Después de haber ingresado mi usuario y contraseña y al ponerse en blanco la pantalla, presioné ctrl+alt+F2, para abrir el prompt de Ubuntu.
  • Ingresé el siguiente comando:

$sudo apt-get install nvidia-glx-legacy

<!

  • El sistema hace sus respectivos procesos, probablemente te haga un par de preguntas a los cuales deberás responder si o no.
  • Continua haciendo procesos
  • Termina

Por las dudas, reinicie el sistema, y todo volvió a la normalidad. Al parecer era un problema con los drivers y/o tarjeta de video.

Si el comando $sudo apt-get install nvidia-glx-legacy, no te funciona, muy probablemente el prompt te hará mensión de paquetes nvidia que si estan disponibles, por lo tanto, vuelve a escribir el comando, y reemplaza la palabra legacy, por una de dispocisiones que aparecen en lista.

Imagen flotante con CSS

Esto es mas fácil de lo que yo pensaba, es realmente sencillo… solo consiste en agregarle unos cuantos styles a la etiqueta “img” en nuestro html:

<img style="display:scroll;position:fixed; top:0px; right:0px;" 
src="la-ruta-de-imagen.jpg" />

Lo anterior haría que nuestra imagen se coloque en la parte superior derecha de la ventana del navegador… si quisieramos

Si quisiéramos colocar la imagen abajo, nuestro html sería así:

<img style="display:scroll;position:fixed; bottom:0px; right:0px;" 
src="la-ruta-de-imagen.jpg" />

Lo importante es jugar con right, bottom, left y top

Esto bien podríamo, ponerlo en nuestros archivos css como class, y llamarlo en nuestras imágenes insertadas en html.

Mi primer “After Effects”

Ahora que ya se aproxima la celebración del día de independencia de El Salvador, quise hacer algo “patriótico” y por primera vez en After Effects

Solo dura 5 segundos, pero entiendan, es lo primero que hago con After Effects

Algoritmo de un número factorial

El factorial de un número entero positivo se define como el producto de todos los números naturales anteriores o iguales a él. Se escribe n!, y se lee “n factorial”. (Por definición el factorial de 0 es 1: 0!=1).

Por ejemplo, queremos el factorial de 10, este se obtendría así: 10 x 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1. El factorial sería el resultado de la multiplicación expuesta.. Veamos un algoritmo (pseudocódigo), para obtener el factorial de N número:

inicio
	var
                Entero: fac, n
        fac=1
	Leer n
	si n <=0 entonces
		print "El valor debe ser igual o mayor a 1"
	sino
		hacer mientras(n >=1)
			fac= fac*n
			n=n-1
		fin mientras
	fin si
        print fac
Fin

Cualquier error, notificarme.

Generar un formato XML en Flash CS con AS 3

Leyendo el libro Actionscript 3.0 Cookbook, vi como generar un formato XML dentro de Flash CS, imagino que es para datos XML pequeños que no serán actualizados constantemente y no contendrán mucha info… así que decidí hacer un pequeño ejercicio por mi propia cuenta.
Vamos a llenar un Componente List con datos XML generado dentro de Flash CS, o sea que no cargaremos ningún archivo externo:

  • Arrastra desde el panel de componentes, un componente List… y como nombre de instancia: myList
  • Coloca el siguiente código en un frame:
//-- aqui generamos el formato xml
var datosXML:XML = <datos>
      <dato label='info 1' />
      <dato label='info 2' />
      <dato label='info 3' />
      <dato label='info 4' />
      <dato label='info 5' />
</datos>;
 
//-- Aqui llenamos el componente List
for each ( var element:XML in datosXML.elements(  ) ) {
     myList.addItem({label:element.@label, value:element.@label})
}

Debemos ponerle mucha atención a: element.@label … analiza por tu cuenta porque.

Flash y Google, más noticias

Buenas noticias, ahora Google ya puede indexar contenido externo que se cargue dentro de Flash, ya sea TXT, XML, HTML y otros SWF.

Además soporta técnicas de Javascript para embeber contenidos Flash, tales como SWFObject y SWFObject2.
Más información de parte de fuentes oficiales aquí: Official Google Webmaster Central Blog

Saber si un año es bisiesto

Un año es bisiesto si es divisible entre 4, excepto aquellos divisibles entre 100 pero no entre 400.

Codigo Actionscript 3

var today:Date = new Date();
function esBisiesto(year:Number):Boolean {
	return year%4 == 0 && year%100 != 0 || year%400 == 0;
}
//uso:
var yearactual = String(today.getFullYear());
var annoActual = Number(yearactual);
var bisiesto = esBisiesto(annoActual);
trace(bisiesto);//-- devuelve true si es bisiesto, y false si no lo es

Tambien funciona tambien en AS2.

Codigo PHP

function esBisiesto($year=NULL) {
    $year = ($year==NULL)? date('Y'):$year;
    return ( ($year%4 == 0 && $year%100 != 0) || $year%400 == 0 ); // devolvemos true si es bisiesto
}

Este Artículo y scripts son originales de Wikipedia… y me parecio importante publicarlos, con la intensión de promoverlos.

Tambien en el link de wikipedia, encontraran como saber si un año es bisiesto en otros lenguajes de progamación.

Actualización: en el código Actionscript original de wikipedia, lanzaba errores al probarlo en AS3, debido a que la variable today (que debe ser equivalente al objeto Date), no habia sido declarada, tube que hacerlo y problema resuelto.