从数据处理器获取数据并操纵数据的最佳方法是什么,比如拿薪水并将该工资除以12然后将该数据绑定到网格。我想可能是数据集的datareader然后查看更新数据,还是有更好的方法?
需要在应用程序而不是数据库中执行此操作,因此无法通过sql查询进行计算。
答案 0 :(得分:2)
是否要将数据更新为数据集或从数据集中读取数据并在网格中显示计算结果。
如果您需要后者,那么您可以在datagrid 的 itemdatabound事件中编写计算逻辑,并将结果绑定到相应的单元格。
答案 1 :(得分:1)
我不确定从哪里获取数据。如果它是一个数据库,为什么不尝试在SQL语句中做大部分显而易见的繁重工作。
实施例
SELECT annual_salary/12 AS month_salary FROM employees WHERE dept = 'Accounting'
请原谅我糟糕的数据库规范化。部门应该在一个单独的表中并加入。
答案 2 :(得分:0)
为什么不查询datareader是为你做除法的结果?
答案 3 :(得分:0)
如果您来自SQL,为什么不将实际计算放在SQL中?
如果您的业务规则要求您将逻辑排除在SQL之外,则将其放在DataGrid的ItemDataBound事件中(GridView的RowDataBound)...
答案 4 :(得分:0)
在我看来,你不需要DataReader。 如果您使用linq to sql,则可以选择类型对象的集合。并更新内部值,然后将其绑定到数据网格。
//一个例子
列出结果= yourProxy.GetObjects(); result.foreach(音速=> { (yto.Salary = yto.Salary / 12) });
this.yourGrid.Datasource =结果