public List <T> readTable <T>(string objectID, int column) { Type t = typeof(T); List <T> tableData = new List <T>(); T rowData; PropertyInfo[] props = t.GetProperties(); string query = string.Format("select * from {0} " + "where {1} = '{2}';", t.Name, props[column].Name, objectID); try { if (conn.State == System.Data.ConnectionState.Closed) { conn.Open(); } MySqlCommand cmd = new MySqlCommand(query, conn); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { rowData = new InstanceOf <T>().Create(); for (int i = 0; i < reader.FieldCount; i++) { MapValueToType(props[i], rowData, reader, i); } tableData.Add(rowData); } conn.Close(); return(tableData); } catch (MySqlException err) { Console.WriteLine(err); return(null); } }
public T readRow <T>(T obj, string objectID) { T rowData = new InstanceOf <T>().Create(); PropertyInfo[] props = obj.GetType().GetProperties(); string query = string.Format("select * from {0} " + "where {1} = '{2}';", obj.GetType().Name, props[0].Name, objectID); try { if (conn.State == System.Data.ConnectionState.Closed) { conn.Open(); } MySqlCommand cmd = new MySqlCommand(query, conn); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { for (int i = 0; i < reader.FieldCount; i++) { MapValueToType(props[i], rowData, reader, i); } } conn.Close(); return(rowData); } catch (MySqlException err) { Console.WriteLine(err); return(default(T)); } }