(Visual Basic .Net) Modulo de Conexión Dinámica a SQL Server

Este módulo nos permite conectarnos a una base de datos alojada en "MS Sql Server".
Contiene 4 funciones, una para conectar a la base de datos, 1 para ejecutar sentencias y una que cierra la conexion.
La función de ejecucion de sentencias acepta como parámetro la sentencia en forma de string. Además cuenta con una sobrecarga que permite enviar el dataset al que se volcarán los datos que devuelva dicha sentencia.
Imports System.Data.SqlClient
Imports System.Data.SqlClient
Module Conexion
    Friend dbSQLConn As SqlConnection, dbSQLComm As SqlCommand, dbSQLAdapter As SqlDataAdapter
    Public Sub ConectarSQL(Optional ByVal Server As String = "(local)\SQLEXPRESS", Optional ByVal DB As String = "master")
        dbSQLConn = New SqlConnection("Server=" & Server & ";Database=" & DB & ";Integrated Security=true")
        Try
            dbSQLConn.Open()
        Catch ex As Exception
            MessageBox.Show("Error al conectar: " & vbCrLf & ex.Message)
        End Try
    End Sub
    Public Function ExecuteSQL(ByVal Query As String) As SqlDataAdapter
        dbSQLComm = New SqlCommand(Query, dbSQLConn)
        dbSQLAdapter = New SqlDataAdapter(dbSQLComm)
        Return dbSQLAdapter
    End Function
    Public Function ExecuteSQL(ByVal Query As String, ByRef ds As DataSet) As Integer
        dbSQLComm = New SqlCommand(Query, dbSQLConn)
        dbSQLAdapter = New SqlDataAdapter(dbSQLComm)
        Dim build As New SqlClient.SqlCommandBuilder(dbSQLAdapter)
        dbSQLAdapter.UpdateCommand = build.GetUpdateCommand
        Return dbSQLAdapter.Update(ds)
    End Function
    Public Sub DesconectarSQL()
        dbSQLConn.Close()
    End Sub
End Module

Configurar Notepad++ para compilar codigo java

A mucha gente le encanta la simpleza y utilidad de este bloc de notas avanzado. Una de sus utilidades es la de ejecutar comandos externos, de manera que aprovechando esta funcion podemos compilar y ejecutar nuestros programas en java, veamos como se hace:
1.- Creamos un archivo por lotes 'compilar_java.bat' con lo siguiente:
echo off
PATH="c:\Program Files\Java\jdk1.6.0_07\bin"
TITLE COMPILANDO %1
CLS
echo Generando la clase...
javac %1
echo Ejecutando la clase:
echo .
echo .
java %2
pause
*La variable PATH debemos cambiarla por nuestro compilador de java instalado
2.-Vamos a notepad++, damos al menu ejecutar y escribimos $(NPP_DIRECTORY) y damos a ejecutar. Esta operación nos abrira la carpeta desde la cual se ejecuta el programa, es ahí donde debemos guardar el archivo 'compilar_java.bat'.
3.-Una vez guardado el archivo por lotes vamos de nuevo al menu 'ejecutar' y ponemos el siguiente texto:
$(NPP_DIRECTORY)\compilar_java.bat $(FILE_NAME) $(NAME_PART)

Conexion a bases de datos

Se puede hacer de varias formas, encapsulando el codigo en funciones o escribiendolo cada vez que se utilice pero de manera general son: Crear un objeto connection que corresponda al motor al que nos vayamos a conectar, ej: SqlConnection, OleDbConnection, etc. Este objeto debe instanciarse y de forma general asignar la propiedad ConnectionString, que es una cadena que contiene parametros para conectarse al motor, esta se establece al instanciar el objeto con un parámetro o una vez instanciado haciendo la asignacion. Ej: -Como conectar con sql La diferencia entre SQLClient y OleDb reside en que SQLClient es el espacio de nombres que contiene las clases para realizar conexiones y ejecutar instrucciones sobre SQL Server y OleDb es el que contiene las clases para realizar lo anterior sobre una base de datos de Access.

Conexion a MySQL y SQLite

Visual Studio por defecto presenta soporte para manipular las bases de datos de SQL Server y Access ya que provienen de la misma compañia, esto se aprecia ya que no hay necesidad de instalar las librerias que contienen los namespaces para estos DBMS (SQLClient y OleDb respectivamente).

Para hacer uso de las bases de datos en MySql y SQLite es necesario descargar e instalar los drivers para dicha conexion, estas son dos librerias que como dije anteriormente contienen los espacios de nombres con las clases para conectarse a su respectiva base de datos.

El conector para MySQL se puede encontrar aqui:
http://dev.mysql.com/downloads/connector/net/

El conector para SQLite se puede encontrar aqui:
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

(VB .Net) Modulo Conexion

Imports System.Data.SqlClient
Imports System.Data.OleDb
Imports MySql.Data.MySqlClient
Module Conexion
    Friend dbMySQLConn As MySqlConnection, dbSQLConn As SqlConnection
    Friend MySQLStrConn As String, SQLStrConn As String
    Public Sub ConectarSQL(Optional ByVal StrConn As String = "")
        If StrConn = "" Then
            StrConn = "Server = .\SQLEXPRESS; Integrated Security = True"
        End If
        dbSQLConn = New SqlConnection(StrConn)
        Try
            dbSQLConn.Open()
        Catch ex As Exception
            MessageBox.Show("Error al conectar: " & vbCrLf & ex.Message)
        End Try
    End Sub

    Public Sub ConectarMySQL(Optional ByVal StrConn As String = "")
        If StrConn = "" Then
            StrConn = "Server = localhost; User = root; port = 3306"
        End If
        dbMySQLConn = New MySqlConnection(StrConn)
        Try
            dbMySQLConn.Open()
        Catch ex As Exception
            MessageBox.Show("Error al conectar: " & vbCrLf & ex.Message)
        End Try
    End Sub

    Public Function ExecuteReaderSQL(ByVal query As String) As SqlDataReader
        Dim p As SqlCommand
        p = New SqlCommand(query)
        p.Connection = dbSQLConn
        Dim read As SqlDataReader = p.ExecuteReader()
        Return read
    End Function

    Public Function ExecuteReaderMySQL(ByVal query As String) As MySqlDataReader
        Dim p As MySqlCommand
        p = New MySqlCommand(query)
        p.Connection = dbMySQLConn
        Dim read As MySqlDataReader = p.ExecuteReader()
        Return read
    End Function

    Public Sub DesconectarSQL()
        dbSQLConn.Close()
    End Sub

    Public Sub DesconectarMySQL()
        dbMySQLConn.Close()
    End Sub
End Module

(Java) Clase para manipulacion de archivos

/** 
 * To change this template, choose Tools | Templates 
 * and open the template in the editor. 
 */ 

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.RandomAccessFile;

/**  *  * @author ALUMNOS  */
public class fileManagement {

    protected String filePath;
    protected PrintWriter writer;
    protected FileReader fReader;
    protected BufferedReader bReader;
    protected FileOutputStream fos;
    protected FileInputStream fis;
    protected RandomAccessFile ioFile;

    public fileManagement(String pathName) throws FileNotFoundException {
        this.setFilePath(pathName);
        writer = new PrintWriter(filePath);
        fReader = new FileReader(filePath);
        bReader = new BufferedReader(fReader);
        fos = new FileOutputStream(filePath);
        fis = new FileInputStream(filePath);
        ioFile = new RandomAccessFile(pathName, "rw");
    }

    public fileManagement(File f) throws FileNotFoundException {
        writer = new PrintWriter(f);
        fReader = new FileReader(f);
        bReader = new BufferedReader(fReader);
        fos = new FileOutputStream(f);
        fis = new FileInputStream(f);
        ioFile = new RandomAccessFile(f, "rw");
    }

    public void writeBytes(byte[] data, int off, int len) throws IOException {
        ioFile.seek(off);
        ioFile.write(data);
    }

    public byte[] readBytes(int off, int len) throws IOException {
        byte[] b = new byte[len];
        ioFile.seek(off);
        ioFile.read(b);
        return b;
    }

    public String readLine() throws IOException {
        return bReader.readLine();
    }

    public void writeLine(String data) throws IOException {
        writer.println(data);
    }

    public void setFilePath(String pathName) {
        this.filePath = pathName;
    }

    public String getFilePath() {
        return this.filePath;
    }
}

Bienvenidos

Bienvenidos a mi blog sobre programación, aquí encontraran segmentos de código y algoritmos para la solución de problemas comunes, en lenguajes de programación como: Basic, Java y C/C++ ademas de codificaciones para HTML.