如何更新数据表结果中的元素?

时间:2013-07-01 12:57:25

标签: c# asp.net

我想显示来自数据表的数据的性别名称。我的代码是

 dt = new data().Get_Data(Id);

        foreach (DataRow row in dt.Rows)
        {
            bool gender = clsCommon.ParseBool(row["Gender"].ToString());

            //if (gender)
               // row["Gender"] = "Male";

           // else
               // row["Gender"] = "Female";
        }

问题是如何找到性别的行索引,因为数据表更改结果中的项目数取决于所选的复选框。我必须将真值更新为男性,反之亦然。

1 个答案:

答案 0 :(得分:1)

  

我想更新row [“Gender”] =“male”并取消注释上面的代码   发生以下错误“字符串未被识别为有效的布尔值。”

因此DataColumn Gender的类型为bool而不是string。因此,要么首先将其更改为string,要么使用第二列作为字符串表示。

假设Get_Data返回从数据库填充的DataTable。然后,这将是为string选择所需bool的最佳方法,例如:

SELECT Id, Col1, Col2, Col3, 
       CASE WHEN Gender=1 THEN 'Male' ELSE 'Female' END AS Gender
FROM dbo.Data
WHERE Id = @Id