candys_yang
2015-07-18 04:46
采纳率: 80%
浏览 2.1k
已采纳

C# 构造函数返回一个对象的问题

 public object Obj_sqlcomm(string sqlcmd)
    {
        sqlconn.Open();
        SqlCommand sqlcommd = new SqlCommand(sqlcmd, sqlconn);
        sqlcommd.ExecuteNonQuery();
        SqlDataReader readsql = sqlcommd.ExecuteReader();
        return readsql;
    }

我最近在做一个小项目,按照我学习软件工程项目管理的模块化思想去做一个小项目,在 object 数据类型的 return 时我遇到一个难题。
上面这段代码这样,我打算让这个构造函数返回一个 SqlDataReader 对象。
但是,我发现,上面的代码好像返回的是 object 对象,而不是 SqlDataReader 对象,如何才能狗让 这个构造函数返回一个 SqlDataReader 呢?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • guwei4037 2015-07-18 04:56
    已采纳

    直接让方法的返回值为SqlDataReader即可。

    public SqlDataReader Obj_sqlcomm(string sqlcmd)
    {
    sqlconn.Open();
    SqlCommand sqlcommd = new SqlCommand(sqlcmd, sqlconn);
    sqlcommd.ExecuteNonQuery();
    SqlDataReader readsql = sqlcommd.ExecuteReader();
    return readsql;
    }

        如果是你上面的object的话,其实也可以。
    
        SqlDataReader sdr = (SqlDataReader)Obj_sqlcomm("xxx");
    
    已采纳该答案
    打赏 评论
  • 返回值改为SqlDataReader就好了。。要不你还要自己转换过类型,因为是object,无法直接使用SqlDataReader的方法

      public SqlDataReader Obj_sqlcomm(string sqlcmd)
        {
            sqlconn.Open();
            SqlCommand sqlcommd = new SqlCommand(sqlcmd, sqlconn);
            //sqlcommd.ExecuteNonQuery();
            SqlDataReader readsql = sqlcommd.ExecuteReader();
            return readsql;
        }
    
    打赏 评论

相关推荐 更多相似问题