All pastes #636570 Raw Edit

Untitled

public text v1 · immutable
#636570 ·published 2007-07-28 00:56 UTC
rendered paste body
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data.SQLLite;
using System.Text;

namespace Program
{
	public class Init
	{
		static void Main( string[] args )
		{
			using ( Data data = new Data() )
			{
				Console.WriteLine(data.Find( 19,"Table", "Column"));
				Console.WriteLine(data.Find( 2, "Table", "Column" ));
				Console.WriteLine(data.Find( 3, "Table", "Column" ));
				Console.WriteLine(data.Find( 4, "Table", "Column" ));
			}
		}
	}

	public class Data : IDisposable
	{
		private SQLiteConnection conn;
		private SQLiteCommand stmt;
		private SQLiteDataReader reader;

		public Data()
		{
			conn = new SQLiteConnection( "data source=sugammadex.db;version=3" ); 
			stmt = new SQLiteCommand( conn );
		}

		public object Find( int id, string table, string return_column )
		{
			conn.Open();
			stmt.CommandText = string.Format( "select {0} from {1} where id = {2}", return_column, table, id );
			object retval;
			using ( reader = stmt.ExecuteReader() )
			{
				try { retval = reader[return_column]; }
				catch ( SQLiteException ex ) { throw new SQLiteException( "Bad query.", ex ); }
				conn.Close();
				return retval;
			}
		}

		public object Find( string conditions, string table, string return_column )
		{
			conn.Open();
			stmt.CommandText = string.Format( "select {0} from {1} where {3}", return_column, table, conditions );
			object retval;
			using ( reader = stmt.ExecuteReader() )
			{
				try { retval = reader[return_column]; }
				catch ( SQLiteException ex ) { throw new SQLiteException( "Bad query.", ex ); }
				conn.Close();
				return retval;
			}
		}


		public void Dispose()
		{
			Dispose( true );
		}

		/// <summary>
		/// An overridable Dispose method to allow subclasses to add their
		/// own dispose routines
		/// </summary>
		/// <param name="disposing"></param>
		protected virtual void Dispose(bool disposing)
		{
			// tidy managed resources
			if ( disposing )
			{
				if ( reader != null )
				{
					reader.Dispose();
					reader = null;
				}
				if ( conn != null )
				{
					conn.Dispose();
					conn = null;
				}
			}
				// tidy unmanaged resources
			else
			{
				// no unmanaged resources, do nothing
			}
		}
	}

}