/// <summary> /// 根据sql获得list /// </summary> /// <param name="sql"></param> /// <returns></returns> private List <Gongshi> baseList(string sql) { List <Gongshi> list = new List <Gongshi>(); //准备读数据 using (SQLiteDataReader reader = session.ExecuteQuery(sql)) { //判断是否有数据(有没有行) if (reader.HasRows) { //读取每一行 while (reader.Read()) { Gongshi gs = new Gongshi(); //创建餐桌对象 Type type = gs.GetType(); //获取类型 for (int i = 0; i < reader.FieldCount; i++) { System.Reflection.PropertyInfo propertyInfo = type.GetProperty(reader.GetName(i)); if (propertyInfo != null) { propertyInfo.SetValue(gs, reader.GetValue(i), null); //给对应属性赋值 } } list.Add(gs); //添加到集合中 } //end while } //end if } // end sqldatareader return(list); }
//添加数据 public void add(Gongshi g) { string sql = PropertyUtil.getProperties <Gongshi>(g); string msg = session.QuerySql(sql) > 0 ? "操作成功" : "操作失败"; MessageBox.Show(msg); }
/// <summary> /// 把数据加载到datagridview中 /// </summary> /// <param name="d"></param> /// <param name="gongsi"></param> public void addDateToDateGrid(DataGridView d, Gongshi gongsi) { DataGridViewRow row = new DataGridViewRow(); int index = d.Rows.Add(row); for (int i = 0; i < d.Rows[0].Cells.Count; i++) { //根据类型获得数据 String name = Enum.Parse(typeof(cell), (i + 1).ToString()).ToString(); Double value = (double)PropertyUtil.ReflectGetter(gongsi, name); d.Rows[index].Cells[i].Value = String.Format("{0:N2}", value);//保留两位小数 } }