martes, 12 de mayo de 2015

CONEXIÓN A UNA BD DESDE UNA APLICACION (ACCES Y VISUAL STUDIO).

Primero lo que debes hacer es conseguir tu string de conexión. Para ello crea un archivo de texto en cualquier lado y cámbiale la extencion por ".udl". Vas a ver que se cambia el icono. Le haces doble clic y se te abre una ventana. Vas a la pestaña Proveedor y eliges Microsoft jet 4.0 OLE DB provider. Presiona siguiente y pone la ruta donde guardaste tu base de datos de Access, lo otro lo dejas como estas a menos que le hayas puesto una contraseña a la BD. En este último caso cambia los parámetros según corresponda. Dar aceptar.
Ahora abrirlo como el bloc de notas y copia la línea que dice algo como:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Public\Documents\DB\BaseDeDatos.md b;Persist Security Info=False


Ahora vamos a tu proyecto de vb. crea un formulario y ponle el textBox y un botón. Luego anda al código y escribí lo siguiente:

Public Class Form1
Dim stringConexion As String ="aca la linea de código que copiaste del archivo udl"

Private Sub insertarEnTabla()
Dim conexion As New Data.OleDb.OleDbConnection
Dim cmd As New Data.OleDb.OleDbCommand
Dim data As New DataTable
Dim consulta As String

conexion.ConnectionString = stringConexion
conexion.Open()

consulta = "insert into nombreTabla values ('" & texBox.text.trim & "')" 'esta es la sentencia que insertara el texto de tu texBox dentro de la tabla que hayas creado en access
cmd.CommandType = CommandType.Text
cmd.CommandText = consulta
cmd.Connection = conexion
cmd.ExecuteNonQuery()
conexion.Close()


End Sub

Private Sub btnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBuscar.Click 'esto es el evento click del botón, lo generas simplemente haciendo doble clic en el mismo dentro del formulario
insertarEnTabla

End Sub


End Class

domingo, 10 de mayo de 2015

TRANSACCIONES.

Las transacciones son un conjunto de instrucciones SQL que tienen la cualidad de ejecutarse como una unidad, es decir, o se ejecutan todas o no se ejecuta ninguna. Si una transacción tiene éxito, todas las modificaciones de los datos realizados durante la transacción se guardan en la base de datos. Si una transacción contiene errores los cambios no se guardaran en la base de datos.

En un sistema ideal, las transacciones deberían garantizar todas las propiedades ACID (en la práctica, a veces alguna de estas propiedades se simplifica o debilita con vistas a obtener un mejor rendimiento).

ACID son las siglas de Atomicity, Consistency, Isolation y Durability (Atomicidad, Consistencia, Aislamiento , Durabilidad)

·                  Atomicidad. Es la propiedad que asegura que la operación se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias.
·                  Consistencia. Esta propiedad esta ligada a la integridad referencial, es decir solo se pueden escribir datos válidos respetando los tipos de datos declarados y la integridad referencial.
·                  Aislamiento. Asegura que una operación no puede afectar a otras. Con esto se asegura que varias transacciones sobre la misma información sean independientes y no generen ningún tipo de error.
·                  Durabilidad. Cuando se completa una transacción con éxito los cambios se vuelven permanentes.
El ejemplo clásico de transacción es una transferencia bancaria, en la que quitamos saldo a una cuenta y lo añadimos en otra. Si no somo capaces de abonar el dinero en la cuenta de destino, no debemos quitarlo de la cuenta de origen.


Para implementar transacciones en MySQL hay que utilizar la versión 5.0.x y el motor de almacenamiento InnoDB.


Una transacción tiene dos finales posibles, COMMIT (se ejecutan todas las instrucciones y guardamos los datos) y ROLLBACK (se produce un error y no se guardan los cambios). Por defecto, MySQL trae activado el modo autocommit, por lo que cuando se realiza una transacción (INSERTUPDATEDELETE) esta se confirma automáticamente.

Ejemplo de una transacción:
mysql> CREATE TABLE innotest (campo INT NOT NULL PRIMARY KEY) TYPE = InnoDB;
Query OK, 0 rows affected (0.10 sec)

mysql> INSERT INTO innotest VALUES(1);
Query OK, 1 row affected (0.08 sec)

mysql> INSERT INTO innotest VALUES(2);
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO innotest VALUES(3);
Query OK, 1 row affected (0.04 sec)

mysql> SELECT * FROM innotest;
+-------+
| campo |
+-------+
|     1 |
|     2 |
|     3 |
+-------+

SENTENCIAS PREPARADAS.

Las sentencias preparadas de JDBC permiten la “precompilación” del código SQL antes de ser ejecutado, permitiendo consultas o actualizaciones más eficientes. En el momento de compilar la sentencia SQL, se analiza cuál es la estrategia adecuada según las tablas, las columnas, los índices y las condiciones de búsqueda implicados. Este proceso, obviamente, consume tiempo de procesador, pero al realizar la compilación una sola vez, se logra mejorar el rendimiento en siguientes consultas iguales con valores diferentes.

Otra ventaja de las sentencias preparadas es que permiten la parametrización: la sentencia SQL se escribe una vez, indicando las posiciones de los datos que van a cambiar y, cada vez que se utilice, le proporcionaremos los argumentos necesarios que serán sustituidos en los lugares correspondientes. Los parámetros se especifican con el carácter ‘?’.


public class Actualizacion{
private PreparedStatement sentencia;


public void prepararInsercion(){
String sql = "insert into personas values ( ?, ? ,? )";
sentencia = conexion.prepareStatement(sql);
}

public void insertarPersona(String nombre, dirección, telefono)
{
sentencia.setString(1, nombre);
sentencia.setString(2, direccion);
sentencia.setString(3, telefono);
sentencia.executeUpdate();
}
}

Al utilizar esta clase, obviamente, deberemos llamar primero al método que prepara la inserción, y posteriormente llamar tantas veces como sea necesario al método insertarPersona. 
Se definen tres parámetros en la sentencia SQL, a los cuales se hace referencia mediante números enteros consecutivos:


String sql = "insert into personas values ( ?, ? ,? )";

PROCEDIMIENTOS ALMACENADOS.


Un procedimiento almacenado (stored procedure en inglés) es un programa (o procedimiento) almacenado físicamente en una base de datos. Su implementación varía de un gestor de bases de datos a otro. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y sólo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.
Los usos 'típicos' de los procedimientos almacenados se aplican en la validación de datos, integrados dentro de la estructura del banco de datos. Los procedimientos almacenados usados con tal propósito se llaman comúnmente disparadores, o triggers. Otro uso común es la 'encapsulación' de un API para un proceso complejo o grande que podría requerir la 'ejecución' de varias consultas SQL, tales como la manipulación de un conjunto de datos enorme para producir un resultado resumido. También pueden ser usados para el control de gestión de operaciones, y ejecutar procedimientos almacenados dentro de una transacción de tal manera que las transacciones sean efectivamente transparentes para ellos.
El siguiente es un ejemplo de procedimiento almacenado en MySQL:

DELIMITER |
CREATE PROCEDURE autos (IN velocidad INT, IN marca VARCHAR (50))
BEGIN
IF velocidad < 120 THEN
INSERT INTO familiares VALUES (velocidad, marca);
ELSE
INSERT INTO deportivos VALUES (velocidad, marca);
END IF;
END;

|

El procedimiento se manda llamar de la siguiente manera:


CALL NOMBRE DEL PROCEDIMIENTO (LOS VALORES A USAR);

martes, 17 de febrero de 2015

¿QUÉ ES UN LENGUAJE DE PROGRAMACIÓN?


Un lenguaje de programación es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico para que los seres humanos puedan dar instrucciones a un equipo.





Los lenguajes de programación Web han ido surgiendo según las necesidades de las plataformas, intentando facilitar el trabajo a los desarrolladores de aplicaciones. Desarrollo web es un término amplio que define la creación de sitios web para Internet o una intranet. Para conseguirlo se hace uso de tecnologías de software del lado del servidor y del cliente que involucran una combinación de procesos de base de datos con el uso de un navegador en Internet a fin de realizar determinadas tareas o mostrar información.



EDITORES LIBRES DE LOS LENGUAJES DE PROGRAMACIÓN WEB.

1.- Lenguaje HTML.

  • Software Nvu. 1.0: es un editor de páginas web WYSIWYG Multiplataforma basado en Mozilla Composer, pero de ejecución independiente.  Este editor facilita el desarrollo de páginas web, gracias a las diferentes visualizaciones disponibles en su interfaz (código fuente, ventana WYSIWYG, visión con tags de HTML realzados), entre los cuales es posible cambiar mediante un sistema de pestañas.
  • Software HTML Kit Build: es un completo editor de páginas web diseñado para ayudar a los programadores de código HTML, XML, y Script. Los principiantes encontrarán la aplicación especialmente útil por su capacidad de depuración de errores y los más expertos podrán acelerar su tarea gracias a los mecanismos de automatización y numerosos accesos directos por teclas del programa. Una de sus más interesantes características es su capacidad de generar previsualizaciones de tus páginas en tiempo real, chequea lo que haces mientras editas tu código.




2.- Lenguaje CSS.

  • Software JustStyle CSS Editor: es un completo todavía software fácil de usar para los webmasters. Es un medio especializado desarrollo hojas de estilo, que ofrece todo lo necesario para desarrollar y desplegar las hojas de estilo en cascada. Es una aplicación multiplataforma. Escrito completamente en Java, funciona en diferentes plataformas, como Microsoft Windows, IBM OS / 2, Linux, Apple Mac OS, Mac OS X y otros.

  • Software  Free CSS Toolbox: es un software de productividad de software gratuito para los desarrolladores web que trabajan con código CSS. Libre CSS Toolbox incluye una serie de herramientas para el seguimiento rápido y mejorar el desarrollo de código de la hoja de estilo, como una avanzada de CSS y CSS Validator . Si usted desarrolla sitios web que utilizan CSS, la CSS Toolbox Free puede ayudarle a ahorrar tiempo y aumentar la productividad sin ningún costo.








3.- Lenguaje JAVASCRIPT.




  • Software Kudaz: nos permite exportar el archivo en formato .rtf y .html, además podremos visualizar el progreso en el navegador. Incluye una tabla de colores, un asistente de creación rápida de tablas en html, podemos seleccionar si vemos el numero de linea o no, limpiar solo las lineas vacias, y el entorno es totalmente configurale por el usuario, adaptándolo éste a sus necesidades.


  • Software NetBeans: es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE2 es un producto libre y gratuito sin restricciones de uso.







4.- Lenguaje PHP.



  • Software PHPEdit: dedicada a crear sitios web dinámicos y profesionales más fácilmente y de manera eficiente y hasta un 50% más rápido. PHPEdit ha sido diseñado para maximizar la productividad de los desarrolladores que le ayuda a codificar más rápido, para depurar PHP y probar sus proyectos, así como para maximizar la gestión de proyectos dentro de su equipo de TI.
  • Software Context editor: es un editor de texto gratuito pequeño, rápido y potente, desarrollado para servir como una herramienta secundaria para los desarrolladores de software. 







5.- Lenguaje ASP.



  • Software WeaverSlave: El mecanismo de trabajo de Weaverslave es dividir la funciones de trabajo en secciones, las cuales están ordenadas en forma lógica y le permiten al usuario trabajar mas eficazmente. Los programadores pueden acceder a las demás funciones a través de un sistema parecido a un lote de cartas. Además también ofrece acceso a todos los archivos y directorios pertenecientes a un proyecto.

  • Software ASP.NET Web Matrix 0.6: es una completa herramienta de desarrollo con la que podrás diseñar y programas tus propias páginas Web con el soporte para Microsoft .NET framework y todas las funciones de páginas ASP. Con Web Matrix podrás crear páginas Web fácilmente gracias a su editor con visualizador de código fuente y de aspecto final de página (WYSIWYG). Incluye soporte para crear y editar bases de datos en SQL y MSDE.



EDITORES PRIVADOS DE LOS LENGUAJES DE PROGRAMACIÓN WEB.




1.- Lenguaje HTML.

  • Software Namo WebEditor: es un editor HTML de tipo WYSIWYG, es decir, permite tener siempre a la vista el resultado final mientras programas tu página Web. Es un editor pensado tanto para los profesionales del diseño Web, que apreciarán su amplia variedad de herramientas y opciones, y para principantes, que agradecerán un interfaz de usuario de muy sencillo manejo.
  • Software Adobe Dreamweaver: permite al usuario utilizar la mayoría de los navegadores Web instalados en su ordenador para previsualizar las páginas web. También dispone de herramientas de administración de sitios dirigidas a principiantes como, por ejemplo, la habilidad de encontrar y reemplazar líneas de texto y código por cualquier tipo de parámetro especificado, hasta el sitio web completo. El panel de comportamientos también permite crear JavaScript básico sin conocimientos de código.




2.- Lenguaje CSS.

  • Software Coda: Coda tiene, gestión de archivos profundamente integrada batalla probado Abra archivos locales o editar de forma remota en FTP, SFTP, WebDAV, o servidores de Amazon S3. Utilice la ficha Archivos y mover, renombrar, copiar, transferir de servidor a servidor.

  • Software  CSSEdit : es un avispado y elegante editor de hojas de estilo CSS totalmente visual, es decir WYSIWYG, además de ofrecernos también el típico entorno de edición basado en el código fuente. Potente, fácil e intuitivo, nunca un editor de este tipo fue tan ameno y agradable de usar en un Mac OS X. CSSEdit nos permite extraer la hoja de estilo CSS de cualquier sitio Web, a la vez que organizar todas las etiquetas de estilo, junto a su ventana de previsualización de tags y los parámetros de edición representados por múltiples botones, scrolls y listas de opciones desplegables.







3.- Lenguaje JAVASCRIPT.


  • Software Macromedia Dreamweaverte facilitará enormemente la tarea de realizar sitios webs complejos y bien estructurados. Ahora puedes diseñar tus páginas con un interfaz completamente gráfico mientras observas simultaneamente el código generado. Esta versión incorpora numerosas herramientas para el tratamiento de tablas y otros componentes avanzados así como para la inserción de objetos no html como películas flash o javascript. Si programas en php colorea el código y te permitirá testear las páginas con un servidor configurado.

  • Software JavaScript Editor Professional Edition: se utiliza para profesionalmente corregir código JavaScript y Ajax y la creación de animaciones y otros efectos especiales para páginas Web usando DOM, DHTML, CSS, Ajax (JavaScript asíncrono y XML) y JavaScript. 







4.- Lenguaje PHP.



  • Software NuSphere PHPEd: PhpED es un IDE apropiado de clase mundial para el código PHP. Es el único IDE vale la pena considerar si el desarrollo de PHP es su trabajo principal. Es una gran recompensa para la persona PHP de codificación, ya que acelera la depuración 
  • Software CodeLobster 3.3.1: es un editor del código de web muy versátil que apoya una buena parte de lenguajes de programación, y esto es afrontado sobre todo al diseño y desarrollo de web. Este editor ofrece todo el estándar de herramientas de la edición del código y de la programación, así como un prenavegador integrado que tantos trabajos en línea como fuera de línea (con o sin la unión). 






5.- Lenguaje ASP.



  • Software Edit Plus: es un editor de texto, editor HTML, editor de PHP, Java y editor Hex Viewer para Windows. Mientras que puede servir como un buen sustituto de Notepad, sino que también ofrece muchas características de gran alcance para los autores de las páginas web y programadores. 

  • Software Cute Editor: Permite a los desarrolladores web de PHP para reemplazar el <textarea> en su sistema de gestión de contenido con un potente, pero fácil de usar editor WYSIWYG. CuteEditor barra de herramientas es totalmente configurable y también es fácil de implementar. Sólo necesita un par de líneas de código para añadirlo a su aplicación.