我在 Asp.Net(C#) 中有一个简单的表单,用户可以在其中输入他的详细信息。详细信息包括用户的总土地面积及其单位(公顷、米、英尺等)。此详细信息保存到 Sql 数据库中。此详细信息应显示在网格视图中。我已经做到了这一点,但我的问题是土地面积将以一个共同的单位(公顷)显示。限制是在从数据库中获取提交的数据时应该转换它。有没有人有解决方案。
问问题
202 次
1 回答
1
您的方案的简单选项是:
如果您的数据库系统支持它们(例如 SQL Server 支持),则直接在数据库上创建一个计算列并从存储过程中返回它
修改用于获取数据的存储过程,以便它进行转换(例如,在 SQL Server 中使用 case 语句
case t.unit
当 'hectare' 然后 t.area
当 'sqmeter' 然后 t.area / 10000
当 'sqfeet' 然后 t.area / xxxx
end在数据表中添加一列并在绑定数据之前计算值(数据表也可以有计算列,但公式语法非常有限,因此在 C# 中手动执行似乎更好)
table.Columns.Add("AreaInHectare");
foreach (var row in table) {
row["AreaInHectare"] = GetAreaInHectare((decimal)row["Area"], (string)row["Unit"];
}
很可能您还想应用一些舍入来去除不需要的小数位。
于 2013-01-05T12:29:58.253 回答