-----------------------
public DataSet getRolls(string str)
{
StringBuilder sb = new StringBuilder();
sb.Append("select * from Rolls ");
sb.Append(str);
DataSet ds = d.getset(sb.ToString());
return ds;
}
------------------------
这是我拼字符串的代码
------------------------
try
{
StringBuilder SqlStr = new StringBuilder();
SqlStr.Append(" where");
if (KeyValue_JAH.Text == "")
{
throw new Exception("卷案号不能为空!");
}
else
{
SqlStr.Append(" JAH like '%" + KeyValue_JAH.Text + "%'");
if (KeyValue_SSJK.SelectedValue != "0")
{
SqlStr.Append(" and SSJK = '" + KeyValue_SSJK.SelectedValue + "'");
}
。。。。。。。。。
if ((KeyValue_ZZRQ.Text != "") && (KeyValue_ZZRQ2.Text != ""))
{
SqlStr.Append(" and ZZRQ >='" + KeyValue_ZZRQ.Text + "' and ZZRQ<='" + KeyValue_ZZRQ2.Text + "'");
}
}
Response.Redirect("RollFilesManager.aspx?tiaojian=" + SqlStr.ToString(),false);
----------------------
现在用“112”这条数据来查询
语句拼出来是这样的
----------------------
select * from Rolls where JAH like '%112%'
(这里无误,断点能跟出来)
----------------------
但是用那个跳页语句传过去之后
“%11”这一小节就变成了一个向左的小黑三角????
----------------------
这是为什么?
怎么破?
求好心人指点
8 个解决方案
#1
1. URL传值不安全,直接传SQL语句就更不可取
2. URL传值有长度限制
3. 你的问题是因为没有URL编码 解码导致的
2. URL传值有长度限制
3. 你的问题是因为没有URL编码 解码导致的
#2
%11本来就是不可打印字符。
%25%31%31才表示%11
%25%31%31才表示%11
#3
那应该怎么解决呢?有没有什么转码的方法?
#4
知道得转移,关键是how to do it?
#5
("RollFilesManager.aspx?tiaojian=" + Server.UrlEncode( SqlStr.ToString()),
#6
不是告诉你做url编码么 httputility.urlencode
#7
搜噶搜噶,跟诸位学着东西了
#8
%11本来就是不可打印字符。
%25%31%31才表示%11
编码之后别忘解码
#1
1. URL传值不安全,直接传SQL语句就更不可取
2. URL传值有长度限制
3. 你的问题是因为没有URL编码 解码导致的
2. URL传值有长度限制
3. 你的问题是因为没有URL编码 解码导致的
#2
%11本来就是不可打印字符。
%25%31%31才表示%11
%25%31%31才表示%11
#3
1. URL传值不安全,直接传SQL语句就更不可取
2. URL传值有长度限制
3. 你的问题是因为没有URL编码 解码导致的
那应该怎么解决呢?有没有什么转码的方法?
#4
%11本来就是不可打印字符。
%25%31%31才表示%11
知道得转移,关键是how to do it?
#5
("RollFilesManager.aspx?tiaojian=" + Server.UrlEncode( SqlStr.ToString()),
#6
1. URL传值不安全,直接传SQL语句就更不可取
2. URL传值有长度限制
3. 你的问题是因为没有URL编码 解码导致的
那应该怎么解决呢?有没有什么转码的方法?
不是告诉你做url编码么 httputility.urlencode
#7
搜噶搜噶,跟诸位学着东西了
#8
%11本来就是不可打印字符。
%25%31%31才表示%11
编码之后别忘解码