public bool enroll(IrisImage irisImage, string name) { try { irisImage.ProcessIris(); } catch(Exception e) { //throw new Exception("Processing Error. Iris Rejected."); } try { IrisDBEntry Entry = new IrisDBEntry(); Entry.id = Guid.NewGuid(); Entry.name = name; Entry.InputImage = irisImage.InputImage; Entry.IrisCode = irisImage.Iris.FullIrisCode; DB.Insert(Entry); return true; } catch (Exception e) { throw new Exception("Database Error!"); } }
//Insert statement public void Insert(IrisDBEntry entry) { //open connection if (this.OpenConnection() == true) { //create command and assign the query and connection from the constructor MySqlCommand cmd = connection.CreateCommand(); //insert statement cmd.CommandText = "INSERT INTO iris VALUES(@id,@name,@InputImage,@IrisCode)"; MemoryStream ms = new MemoryStream(); //insert each value cmd.Parameters.AddWithValue("@id", entry.id.ToString()); cmd.Parameters.AddWithValue("@name", entry.name); entry.InputImage.Bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); cmd.Parameters.AddWithValue("@InputImage", ms.GetBuffer()); ms = new MemoryStream(); entry.IrisCode.Bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); cmd.Parameters.AddWithValue("@IrisCode", ms.GetBuffer()); //Execute command cmd.ExecuteNonQuery(); //close connection this.CloseConnection(); } }
public bool enroll(IrisImage irisImage, string name) { try { irisImage.ProcessIris(); } catch (Exception e) { //throw new Exception("Processing Error. Iris Rejected."); } try { IrisDBEntry Entry = new IrisDBEntry(); Entry.id = Guid.NewGuid(); Entry.name = name; Entry.InputImage = irisImage.InputImage; Entry.IrisCode = irisImage.Iris.FullIrisCode; DB.Insert(Entry); return(true); } catch (Exception e) { throw new Exception("Database Error!"); } }
//Select statement public List <IrisDBEntry> Select(int start = 0, int limit = 6) { List <IrisDBEntry> Entries = new List <IrisDBEntry>(); //Open connection if (this.OpenConnection() == true) { //Create Command MySqlCommand cmd = connection.CreateCommand(); cmd.CommandText = "SELECT * FROM iris LIMIT @start,@limit"; cmd.Parameters.AddWithValue("@start", start); cmd.Parameters.AddWithValue("@limit", limit); //Create a data reader and Execute the command MySqlDataReader dataReader = cmd.ExecuteReader(); //Read the data and store them in the list while (dataReader.Read()) { IrisDBEntry entry = new IrisDBEntry(); entry.id = Guid.Parse((string)dataReader[0]); entry.name = (string)dataReader[1]; byte[] array = (byte[])dataReader[2]; TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap)); Bitmap image = (Bitmap)tc.ConvertFrom(array); entry.InputImage = new Image <Gray, byte>(image); array = (byte[])dataReader[3]; image = (Bitmap)tc.ConvertFrom(array); entry.IrisCode = new Image <Gray, byte>(image); Entries.Add(entry); } //close Data Reader dataReader.Close(); //close Connection this.CloseConnection(); } return(Entries); }
//Select statement public List<IrisDBEntry> Select(int start = 0, int limit = 6) { List<IrisDBEntry> Entries = new List<IrisDBEntry>(); //Open connection if (this.OpenConnection() == true) { //Create Command MySqlCommand cmd = connection.CreateCommand(); cmd.CommandText = "SELECT * FROM iris LIMIT @start,@limit"; cmd.Parameters.AddWithValue("@start", start); cmd.Parameters.AddWithValue("@limit", limit); //Create a data reader and Execute the command MySqlDataReader dataReader = cmd.ExecuteReader(); //Read the data and store them in the list while (dataReader.Read()) { IrisDBEntry entry = new IrisDBEntry(); entry.id = Guid.Parse((string)dataReader[0]); entry.name = (string)dataReader[1]; byte[] array = (byte[])dataReader[2]; TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap)); Bitmap image = (Bitmap)tc.ConvertFrom(array); entry.InputImage = new Image<Gray, byte>(image); array = (byte[])dataReader[3]; image = (Bitmap)tc.ConvertFrom(array); entry.IrisCode = new Image<Gray, byte>(image); Entries.Add(entry); } //close Data Reader dataReader.Close(); //close Connection this.CloseConnection(); } return Entries; }