在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;