例如在SQL中查询性别,字段内容是1和0
如果在查询结果中需要将内容转换可以用到CASE WHEN
那么,在C#中需要对内容进行转换该如何写?
求大神赐教

解决方案 »

  1.   

    3层么?  是问model怎么写?//model层
    private bool gender;
    public string Gender(){
        set { gender = (value == "男" ? true : false); }
        get { return value ? "男" : "女" ; }
    }
    //数据访问层
    private void DataRow2Model(DataRow row, Model.Person model)
        {
            if (row.Table.Columns.Contains("Gender") && !(row["Gender"] is DBNull) && row["PID"].ToString() != "")
            {
                model.Gender= row["Gender"].ToString()=="True" ? "男":"女";
            }
        }
      

  2.   

    不不,我还没到那个层次...
    如果直接使用SQL查询数据库资料的话,有个查询方法
    例如(case Gender when'0' then '男' else '女' end)
    那么C#用ADO.NET查询数据库中资料时,如何实现这个效果?
      

  3.   

    sql="select t*,case Gender when'0' then '男' else '女' end from table t";
      

  4.   


    --向数据库发送sql语句
    select *,case Gender when'0' then '男' else '女' end as 性别 form 表名
    --as 是给列取别名  不用as  性别  的话   列就会是无列名
      

  5.   


    //连接字符串
    string connStr = "server=数据库地址;database=数据库名字;uid=登录名;pwd=密码"
    //准备连接通道
    SqlConnection conn = new SqlConnection(connStr);
    //创建适配器对象
    SqlDataAdapter adapter = new SqlDataAdapter("select *,case Gender when'0' then '男' else '女' end as 性别 form 表名", conn);
    //创建DataTable对象
    DataTable table = new DataTable();
    //填充数据
    adapter.Fill(table);
      

  6.   

    循环遍历你返回的结果集,然后修改,或者使用gridview的话在绑定行的时候判断
      

  7.   

    C#中拼接的SQL语句与你用sql在数据库中查询的语句一样。
      

  8.   

    C#操作数据库的步骤都是一样的,基本上知识SQL语句不一样,你这个问题可以直接问“CASE WEHN的这个SQL语句怎么写”就行了,楼上的已经解答了。具体链接数据库的步骤可以参看我的博客。