永发信息网

传递参数时一个很奇怪的问题

答案:2  悬赏:70  手机版
解决时间 2021-03-19 01:57
  • 提问者网友:你给我的爱
  • 2021-03-18 21:35
href='target.aspx?LB=<%# Eval("TupianLB") %>'

String LB = Request.QueryString["LB"].ToString();
Response.Wirte(LB);
String sqlstr = "SELECt * FROM Tupian WHERe TupianLB='LB'";
DataSet ds = ac.GetDs(sqlstr,"TP");
DataList1.DataSource = ds;
DataList1.DataKeyField = "TupianID";
DataList1.DataBind();
前台:

源页点链接,链接里有?参数=值,很正常
Response.write也能读出传递过来的值,很正常
但打开网页后连个图片的叉叉都没有,而不用传递过来的参数,就用表里的记录又能正常显示图片

非主键字段不能这样写吧,LB会被判断为字段名
最佳答案
  • 五星知识达人网友:枭雄戏美人
  • 2021-03-18 21:47
String sqlstr = "SELECt * FROM Tupian WHERe TupianLB='LB'";
这条语句错了,应该是
String sqlstr = "SELECt * FROM Tupian WHERe TupianLB="+LB;

“非主键字段不能这样写吧,LB会被判断为字段名”这样写,才会把LB的值传进去

肯定是这样的,你改了就行了
全部回答
  • 1楼网友:长青诗
  • 2021-03-18 22:59
String sqlstr = "SELECt * FROM Tupian WHERe TupianLB='LB'";查找到的是TupianLB=LB的记录 这个LB是一个字符串 而不是你querystring传过来的东西 String sqlstr = "SELECt * FROM Tupian WHERe TupianLB="+LB; LB在这里是你的STRING LB这个变量 不会被判断为字段名 另外 不要这样写SQL语句 很容易被注入
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯