1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Data; 5 6 namespace Examintion_sys.DAL 7 { 8 public class SmartDataReader 9 { 10 private DateTime defaultDate; 11 public SmartDataReader(IDataReader reader) 12 { 13 this.defaultDate = Convert.ToDateTime("01/01/1753 12:00:00"); 14 this.reader = reader; 15 } 16 17 public int GetInt32(String column) 18 { 19 int data = (reader.IsDBNull(reader.GetOrdinal(column))) ? (int)0 : (int)reader[column]; 20 return data; 21 } 22 23 public short GetInt16(String column) 24 { 25 short data = (reader.IsDBNull(reader.GetOrdinal(column))) ? (short)0 : (short)reader[column]; 26 return data; 27 } 28 29 public float GetFloat(String column) 30 { 31 float data = (reader.IsDBNull(reader.GetOrdinal(column))) ? 0 : float.Parse(reader[column].ToString()); 32 return data; 33 } 34 35 public double GetDouble(String column) 36 { 37 double data = (reader.IsDBNull(reader.GetOrdinal(column))) ? 0 : double.Parse(reader[column].ToString()); 38 return data; 39 } 40 41 public decimal GetDecimal(String column) 42 { 43 decimal data = (reader.IsDBNull(reader.GetOrdinal(column))) ? 0 : decimal.Parse(reader[column].ToString()); 44 return data; 45 } 46 47 public Single GetSingle(String column) 48 { 49 Single data = (reader.IsDBNull(reader.GetOrdinal(column))) ? 0 : Single.Parse(reader[column].ToString()); 50 return data; 51 } 52 53 public bool GetBoolean(String column) 54 { 55 bool data = (reader.IsDBNull(reader.GetOrdinal(column))) ? false : (bool)reader[column]; 56 return data; 57 } 58 59 public String GetString(String column) 60 { 61 String data = (reader.IsDBNull(reader.GetOrdinal(column))) ? "" : reader[column].ToString(); 62 return data; 63 } 64 65 public byte[] GetBytes(String column) 66 { 67 String data = (reader.IsDBNull(reader.GetOrdinal(column))) ? null : reader[column].ToString(); 68 return System.Text.Encoding.UTF8.GetBytes(data); 69 } 70 71 public Guid GetGuid(String column) 72 { 73 String data = (reader.IsDBNull(reader.GetOrdinal(column))) ? null : reader[column].ToString(); 74 Guid guid = Guid.Empty; 75 if (data != null) 76 { 77 guid = new Guid(data); 78 } 79 return guid; 80 } 81 82 public DateTime GetDateTime(String column) 83 { 84 DateTime data = (reader.IsDBNull(reader.GetOrdinal(column))) ? defaultDate : (DateTime)reader[column]; 85 return data; 86 } 87 88 public bool Read() 89 { 90 return this.reader.Read(); 91 } 92 private IDataReader reader; 93 } 94 }
本地考试系统中的智能试卷创建,数据库读取函数。