日期:2014-05-18  浏览次数:20524 次

为什么show.aspx页面不能显示内容?
在default.aspx 页面我是这样写链接代码的:
<a href='Show.aspx?nid=<%#Eval("nclassid")%>&id=<%#Eval("id")%>' ><%# Eval("Title")%></a>
在show.aspx页面放一个组件:
<asp:Repeater ID="Repeater1" runat="server" >
  <ItemTemplate>

  <TABLE class=line20px1 cellSpacing=0 cellPadding=4 
  width="100%" border=0>
   
  <TR>
  <TD vAlign=top>
  <%# DataBinder.Eval(Container.DataItem, "content")%></TD></TR>
   
  </TABLE></ItemTemplate>
  </asp:Repeater>
show.aspx.cs的代码如下:
 
C# code
  int id = System.Convert.ToInt32(Request.Params["id"]);
        int nid = System.Convert.ToInt32(Request.Params["nclassid"]);  
        if (!IsPostBack)
        {
            
            my_conn.Open();
            OleDbCommand my_comm = new OleDbCommand("select * from info where [color=#FF0000]nclassid=" + nid + " and [/color]id=" + id + "", my_conn);//这一句是不是有问题?
                        Repeater1.DataSource = my_comm.ExecuteReader();
            Repeater1.DataBind();
            DataSet myDataSet = new DataSet();
           }

结果不能显示不了内容啊?没有加 nclassid=" + nid + " and之前可以显示,这是怎么回事? 谢谢!!

------解决方案--------------------
冒泡帮顶接分

my_comm.ExecuteReader();
返回的是什么类型?
------解决方案--------------------
没有加 nclassid=" + nid + " and之前可以显示
====================
是不是你加上这语句查询的时候,数据库里面没有符合的数据呀。你把这SQL语句显示出来,在Access里面运行下看看。
------解决方案--------------------
字符串加加有问题, 引号

引号里再用引号要用 \"
------解决方案--------------------
sql写的有问题,不过不建议这样写,SQL注入攻击
SQL code

select * from info where nclassid ='" + nid + "' and id='" + id + "'"

------解决方案--------------------
C# code

 OleDbCommand my_comm = new OleDbCommand("select * from info where [color=#FF0000]nclassid=@nid and id=@id", my_conn);

   myCommand.Parameters.Add(new SqlParameter("@nid", SqlDbType.Int));
        myCommand.Parameters["@nid"].Value = nid;

        myCommand.Parameters.Add(new SqlParameter("@id", SqlDbType.Int));
        myCommand.Parameters["@id"].Value = id;