我又个LABLE标签
我想在数据库里面读取一篇文章的标题,数据库里面的表式wenzhang 
标题 是title列string connectionString = ConfigurationManager.ConnectionStrings["bbsConnectionString"].ConnectionString;
        /
        SqlConnection con = new SqlConnection(connectionString);
string sql = "select max(id) from wenzhang";
        con.Open();
        SqlCommand cmd = new SqlCommand(sql, con);
        //cmd.ExecuteNonQuery();
        SqlDataReader dr = cmd.ExecuteReader();
      
        
       text11.Text = dr["title"].ToString();
        
        con.Close()title说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IndexOutOfRangeException: title源错误: 
行 57:       
行 58:         
行 59:       text11.Text = dr["title"].ToString();
行 60:         
行 61:         con.Close();源文件: e:\C# 项目\小型论坛\index.aspx.cs    行: 59 堆栈跟踪: 这样写的时候老是提示错误!

解决方案 »

  1.   

    你的 "select max(id) from wenzhang" 里面没有 title,当然会出错了。
      

  2.   

    1.
    select isnull(max(id),0) from wenzhang2.
    SqlDataReader dr = cmd.ExecuteReader();
    dr.Read();
    text11.Text = dr["title"].ToString();
    dr.Close();
      

  3.   

    你们的意思是?
    我写这个语句的意思是。
    查询ID值最大的一篇文章,然后读取该文章的  title
      

  4.   

    string sql = "select max(id) from wenzhang";你这句语句 只查出来了一个ID 根本没有title 当然会出错了 title是空的 
      

  5.   

    改成 select title from wenzhang where id = max(id)
      

  6.   

    刚才没细看string sql = "select top 1 * from wenzhang order by id desc";
    ...
    SqlDataReader dr = cmd.ExecuteReader();
    dr.Read();
    text11.Text = dr["title"].ToString();
    dr.Close();
      

  7.   

    或者你这样 你查询titile 条件根据ID倒序排  然后去第一行第一列
      

  8.   

    select max(id),title from wenzhang
      

  9.   

    select * from wenzhang where id=(select max(id) from wenzhang)
      

  10.   

    select title from wenzhang order by id desc