string strbody=ds.Tables[0].Columns[2].ToString().Trim();
==>
string strbody=ds.Tables[0].Rows[0][2].ToString().Trim();

解决方案 »

  1.   

    string strbody=ds.Tables[0].Columns[2].ToString().Trim();
    这句写错了,应该是string strbody=ds.tables[0].rows[0].item[2].tostring().trim();
    你试试吧。我记得是这样。table里的columns传出的是列名。
      

  2.   

    我按照 wd_318(饭加加)和 alickjoe(血燕)写的,程序运行时却有下面的问题,请问是为什么啊?
    -------------------------------
    在位置 0 处没有任何行。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IndexOutOfRangeException: 在位置 0 处没有任何行。源错误: 
    行 59:  DataSet ds = new DataSet();
    行 60:  adapt.Fill(ds);
    行 61:  string strbody=ds.Tables[0].Rows[0][2].ToString().Trim();
    行 62:  Response.Write(strbody);
    行 63:  } 
    ----------------------------------会不会是参数传递有问题,还是有什么其他的问题?
    请各位指点一下!1
      

  3.   

    你最好看一下strFileID的值。我怀疑这里没有值,如果你想取得地址栏里面subject后面的值你用的语句应该是
    string strFileID = Request.QueryString["subject"];
    你这里好像写错了。所以id值没有传到sql语句里面。当然不会有数据行返回了。再检查一下吧。
      

  4.   

    To: alickjoe(血燕)我测试过了,if后面的语句好象执行过了,那就说明Request.QueryString["subject"]或Request["subject"]的值不为空,否则if里面的语句就不能执行Request.QueryString["subject"]和Request["subject"]好象具有相试的功能我实在不知道问题出在哪里?
    请大家指点!
      

  5.   

    -------------------------------
    在位置 0 处没有任何行。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 这说明你的SELECT语句得到的是一个空集!请检查一下参数是否正确,以及表中的数据有没有异常,还有一点,你可以加上检测代码,判断一下数据集是否为空的
      

  6.   

    To:wd_318(饭加加)
     请问怎样加检测代码?关于怎样引用datagrid的超连接传递过来的参数的问题,有没有人能够给出和我所说的问题相类试的例子啊,不胜感激!
      

  7.   

    if(ds.Tables[0].Rows.Count==0)
      //没有记录
    else
      //有记录
    你看一下DataGrid中的连接处:showdatagrid.aspx?subject=XXXX 在IE状态栏中显示的是否正确!你看这里你的连接是打开showdatagrid.aspx的,可你上面写的代码是datagrid.aspx中的,是否搞错了?
      

  8.   

    wd_318(饭加加)  是浪花兄吧,哈哈。
    我做过一个类似你的一个东西,点datagrid,然后把参数传到一个页面上显示相应的页面上相应的新闻。要的话再联系我吧,一下子找不到...
      

  9.   

    我的showdatagrid.aspx中的连接地址是:
    http://localhost/LAN_email/showdatagrid.aspx?subject=%20&%20<@#databinder.eval(container.dataitem,"subject")%>是不是有什么错误?我刚测试了数据集,好象是空的
    应该怎么解决?
      

  10.   

    <asp:HyperLinkColumn Text="View/Edit" Target="_self" DataNavigateUrlField="productid" DataNavigateUrlFormatString="showproduct.aspx?id={0}"></asp:HyperLinkColumn>
    我的columnde代码是这样的。以上是有连接的datagrid所在的页。==================================这是连接过去的页的连接字符串:
    Dim sqlstr As String = "select * from products where productid='" + Request.QueryString("id") + "'"
    我用的是vb,c#不熟,凑合看吧。
      

  11.   

    这是我的源代码。
    ftp://alick-joe.vicp.net:8869/test.rar
      

  12.   

    代码改为:
    if(Request["subject"]!=null)//下载文件
    {
    string strFileID = Request["subject"];
    string strsel="select * from [mailbox] where subject='"+strFileID+"'";
    Response.Write(strsel);
    return;
    SqlConnection conn = new SqlConnection("Data Source=localhost;database=message;user id=sa;password=123");
    conn.Open();
    SqlDataAdapter adapt = new SqlDataAdapter(strsel,conn);
    DataSet ds = new DataSet();

    adapt.Fill(ds);
    string strbody=ds.Tables[0].Rows[0][2].ToString().Trim();
    Response.Write(strbody);
    }然后在查询分析器中执行这个SQL语句,看是否能查到数据
      

  13.   

    我的showdatagrid.aspx中的连接地址是:
    http://localhost/LAN_email/showdatagrid.aspx?subject=%20&%20<@#databinder.eval(container.dataitem,"subject")%>说明:两个%20说明?subject=后面有两个空格了(应该去掉),后面的ASP.NET服务器端代码也出来了,可能是你没有绑定数据吧??datouxiaogui(大头) :你是哪位朋友啊?我就是浪花