Life in code, apps and OS's

As I was made voluntary redundant from the company I was working at on friday (well pending an interview tomorrow morning at 10am) I have decided that I would make a nice new little Microsoft Windows application that would log (to a web-interface) users logon and logoff information that integrated with logon scripts.

LogonWatcher would be distributed as a free application and server software, The client machine (using a logon script) would call the executable program that would then talk to the server and log the logon/logoff information to a MySQL database.

Yesterday I decided to download the Windows Essentials pack from live.com, I’ve never really used Live Messenger as I don’t really like it, I hate having to talk to people when im busy working on stuff but anyway I’ve re-installed my PC and decided to give it ago.

This blog post is written using Windows Live – Live Writer and it is a really great idea, I am so impressed, I love using this tool and makes blogging so much more easier and quicker!

The live essentials pack in general has loads of great features such as the Outlook connector so you can read and send emails from your live account using Microsoft Outlook.

You also get the Windows Live Mail client which is a nice interface to the live.com webmail (otherwise known as Hotmail).

Overall im really impressed with this🙂

Whilst doing my usual browsing the net today, I found an excelent tutorial on HowToForge.net that shows how someone can image a linux partition using CloneZilla.

CloneZilla is an Open-source alternative to Norton Ghost, The CloneZilla website can be found at the following URL:

http://clonezilla.org/

HowToForge have an excelent tutorial which can be found at the following URL:-

http://howtoforge.net/back-up-restore-hard-drives-and-partitions-with-clonezilla-live

To sum it all up, CloneZilla enables you to do the following tasks…

  • Backup the following file systems ext2, ext3, reiserfs, xfs, jfs of GNU/Linux, FAT, NTFS of MS Windows, and HFS+ of Mac OS.
  • CloneZilla can either image from HDD to Image file or HDD to HDD.
  • CloneZilla can send the image file to either a Samba, NFS or SSH Server.
  • CloneZilla can if selected break the image files up into smaller chunks eg. 2.0GB files or 700MB (Whatever you choose)
  • CloneZilla can be downloaded for free and burn to a CD-ROM/DVD.

In the past I have used G4L (Ghost4Linux) which also supports NTFS – The windows file system, although I am now considering switching to CloneZilla mainly as the following features are not supported in G4L (or atleast I’ve never seen them)…

  • Backup to SAMBA (Windows File Server – Basically)
  • Image segmentation – Ability to break up image files into smaller chunks.

Anyway enough of me ranting on!! Enjoy!

Looking over the net for a few MySQL/VB.net related tutorials I came across this tutorial at the MySQL website:-

Loading a search MySQL data with DataGrid in VB.net 2005 (but should work with 2008 too!)
http://dev.mysql.com/tech-resources/articles/ebonat-load-and-search-mysql-data-using-vbnet-2005.html

This also looks rather interesting, Its a GUI for MySQL development (my be worth a look??)
http://toadsoft.com/toadmysql/

Since downloading and installing Microsoft VB .net 2008 Express edition yesterday and then playing with it last night whilst at home I managed to build a simple application to connect to a MySQL database and show table records (with corrisponding data using a ‘JOIN’ statement) and I must say I throughly enjoyed it.

A couple of days ago I started playing with the JAVA JDK6 (Update 10) using NetBeans and although NetBeans comes bundled with a few sample apps even looking at the code I didn’t really understand what the JAVA source was doing however VB.net really did seem simple and I felt that I understood what the code was doing.

I now intend to start and play with VB.net, Create a few application etc.

Since developing software for the internet mainly using PHP as well as ColdFusion I have always used MySQL for a number of reasons really…

  • Supported well by the community
  • Its Opensource (Free)
  • Owned by one of the Technoligy giants (Sun Microsystems)

As I have always really used MySQL and am comfortable with it, I still intend to keep using it and most of my applications I will be building will be using MySQL as its back end. – However now Microsoft have released SQL Server 2008 Express edition which is also freely avaliable (with some limitations however) I may even use that from time to time.

So how is VB .net 2008 going to help me, what will I be using it for?? – Well to be honest I’ve never really gotten into developing System Applications and in the past have dedicated my time to developing Web Applications but everyday I see solutions that I feel would definetly work well in conjunction with certain web applications I have developed in the past for example:-

  • Bug Tracking systems – Client to add a bug directly from a user desktop.
  • Bug Tracking systems – Developers task list application.
  • Social network sites – Instant Messenger based on friends list.
  • Software Deployment suite – Download and install client (running as a service)
  • Corporate Web Applications – BackOffice tool to create, edit and ammend records.

Really the list is endless with what you can do and I intend on furthering my knowledge with this language and implement database connected applications for many of my exisiting projects.

Looking at the following URL, I found it quite interesting as to how VB.net and programming in general connects to a TCP socket to send and retrieve data back and fowards to servers and clients on the interenet, Check out the following URL (is a howto to  make a Messanger service for Windows Servers/Clients…

http://www.vbprogramming.8k.com/tutorials/LocalTCP.htm

This tutorial will read all rows in a MySQL database and print out the resaults.

Create a new Java source file and save it as JdbcExample3.java in the same folder where you’ve been keeping others files for this tutorial. Now copy/paste following code in it:

package com.stardeveloper.example;

import java.sql.*;

public class JdbcExample3 {

  public static void main(String args[]) {
    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    try {
      Class.forName("com.mysql.jdbc.Driver").newInstance();
      con = DriverManager.getConnection("jdbc:mysql:///examples",
        "root", "secret");

      st = con.createStatement();
      rs = st.executeQuery("SELECT user_id, first_name, last_name, " +
        "country_code FROM users");

      while(rs.next()) {
        int userId = rs.getInt(1);
        String firstName = rs.getString(2);
        String lastName = rs.getString(3);
        String countryCode = rs.getString(4);

        System.out.println(userId + ". " + lastName + ", " +
            firstName + " (" + countryCode + ")");
      }

    } catch (Exception e) {
      System.err.println("Exception: " + e.getMessage());
    } finally {
      try {
        if(rs != null)
          rs.close();
        if(st != null)
          st.close();
        if(con != null)
          con.close();
      } catch (SQLException e) {
      }
    }
  }
}

Explanation
First line is the package statement that tells the Java compiler that our JdbcExample3 class belongs to com.stardeveloper.example package.

package com.stardeveloper.example;

Next we import the required JDBC classes from java.sql package.

import java.sql.*;

Next we give a name to our class, i.e. JdbcExample3.

public class JdbcExample3 {
	...
}

Next we create a main() method for our class. This is where our JDBC code will reside.

public static void main(String args[]) {
	...
}

We create 3 variables to hold Connection, Statement and ResultSet objects for us which we’ll create later in a try/catch/finally block.

	Connection con = null;
	Statement st = null;
	ResultSet rs = null;

We then enter a try/catch/finally block. Our data access code will reside in the try block, exception notification code in the catch block and code to close the connection in the finally block.

	try {
		...
	} catch (Exception e) {
      System.err.println("Exception: " + e.getMessage());
	} finally {
		...
	}

First thing we do to display records is to obtain a connection to MySQL database and that we do that my first loading it’s JDBC (Connector/J) driver and then using DriverManager to obtain a connection to our “examples” database. You might want to change the password from “secret” to whatever is your password for ‘root’ account.

	Class.forName("com.mysql.jdbc.Driver").newInstance();
	con = DriverManager.getConnection("jdbc:mysql:///examples",
	  "root", "secret");

Once we are connected, we create a new SQL Statement object.

	st = con.createStatement();

We then execute this statement to obtain a ResultSet which contains all the records from the “users” table and we do that by executing a SELECT SQL statement.

	rs = st.executeQuery("SELECT user_id, first_name, last_name, " +
		"country_code FROM users");

We then iterate through that ResultSet to obtain values for each field of the “users” table. We then print these values on the user console.

	while(rs.next()) {
		int userId = rs.getInt(1);
		String firstName = rs.getString(2);
		String lastName = rs.getString(3);
		String countryCode = rs.getString(4);

		System.out.println(userId + ". " + lastName + ", " +
		firstName + " (" + countryCode + ")");
	}

In the finally block we close off our ResultSet, Statement and Connection objects.

	try {
		if(rs != null)
			rs.close();
		if(st != null)
			st.close();
		if(con != null)
			con.close();
	} catch (SQLException e) {}

Compiling JdbcExample3.java
To compile JdbcExample3.java, execute following command at the command prompt from the folder where JdbcExample3.java is residing:

javac -d . JdbcExample3.java
Command Prompt - Compiling JdbcExample3.java
Command Prompt – Compiling JdbcExample3.java

You should now have JdbcExample3.class file under the com/stardeveloper/example folder.

Running JdbcExample3
Before we run our Java program, make sure that MySQL server is running and that you’ve properly created and setup “examples” database and “users” table. Now to run our Java program, execute following command at the command prompt from the folder from where you compiled JdbcExample3.java:

java com.stardeveloper.example.JdbcExample3
Command Prompt - Running JdbcExample3
Command Prompt – Running JdbcExample3

Congratulations! you’ve successfully been able to display all the records from “users” tables in the MySQL “examples” database using JDBC in your Java program.

Summary
In this tutorial we learned how to display records from a table in a MySQL database using JDBC in a Java program.

In next article we will learn what is java.sql.PreparedStatement and how to make use of it.


  • How To Dyndns Ubuntu | Order Goods: […] DynDNS Client Setup on Ubuntu | Life in code, apps and OS’s – May 18, 2008  · 7 Responses to "DynDNS Client Setu
  • lizrandolph10886: Wonderful article! We are linking to this particularly great post on our website.nKeep up the great writing. Click
  • waseem Ahmad: Dear. i have a separate application server and a separate mysql database server. when i want to access the application server to login from the local