string sqlstrdel = "select routePath from courseApply where courseID=" + GridView1.DataKeys[i].Value;
//返回储存在数据库离得路径   
 public string  returnPath(string sqlstr)
    {
        mycomm.CommandText = sqlstr;
        myconn.Open();
        SqlDataReader readPath = mycomm.ExecuteReader();
        return readPath.ToString();
        myconn.Close();
    }//
上面数据库语句返回的是正确路径
但是上面函数返回的是
{System.Data.SqlClient.SqlDataReader}我很郁闷  求指教。

解决方案 »

  1.   

    SqlDataReader readPath = mycomm.ExecuteReader();
    返回的是一个SqlDataReader对象,ToString以后肯定是“System.Data.SqlClient.SqlDataReader}
    ”myconn.Close();不能放在return之后,
    可以看出来你的基础很差,多看看基础吧,
      

  2.   


    //返回储存在数据库离得路径  
     public string returnPath(string sqlstr)
      {
       string path = string.Empty;
      mycomm.CommandText = sqlstr;
      myconn.Open();
      SqlDataReader readPath = mycomm.ExecuteReader();
       while(readPath.Read())
       {
           path  = readPath["routePath"].ToString();
       }
      myconn.Close();
      return path;
      }
      

  3.   

    protected void Page_Load(object sender, EventArgs e)
        {
            string sqlstrdel = "select routePath from courseApply where courseID='" + GridView1.DataKeys[i].Value + "'";
            Response.Write(ReturnDataTable(sqlstrdel).Rows[0]["routePath"].ToString());
        }    public static DataTable ReturnDataTable(string cmdtext)
        {
            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = "链接字符串";
            cn.Open();
            SqlCommand cmd = new SqlCommand();
            DataTable dt = new DataTable();
            cmd = new SqlCommand(cmdtext, cn);
            SqlDataReader dr = null;
            using (dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
            {            dt.Load(dr);
            }
            return dt;
        }