C#中 sb.Append(" 1=1")是什么意思啊?能具体说说嘛?谢谢啦
发布网友
发布时间:2023-05-02 04:45
我来回答
共5个回答
热心网友
时间:2023-10-14 23:52
你这个sb是一个SQL语句吗?如果是sql语句的话·你加上 sb.Append(" 1=1")应该是 永真的意思。
select * from a where 1=1
当where 后面的条件不确定会出现多少个的时候一般是可以考虑在后面加上一个 1=1 永真的
例
StringBuilder sb= new StringBuilder("select * from a where ");
if(id!="")
sb.Append(" id='1' and ");
if(name!="")
sb.Append(" name='小明' and ");
sb.Append(" 1=1 ");
上面这里如果不加上
sb.Append(" 1=1 ");
那么sb = select * from a where id = 1 and name = '小明' and
很明显这语法就会出现问题。。
但加上sb.Append(" 1=1 ");
那么sb = select * from a where id = 1 and name = '小明' and 1=1
热心网友
时间:2023-10-14 23:53
sb应该是之前定义的一个StringBuilder,sb.append就是向这个stringbuilder的末尾添加字符串,比如说
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Append(" 1=1");
MyStringBuilder.Append(" 1=2");
Console.WriteLine(MyStringBuilder);
这个大致相当于
string s="Hello World!";
s+=" 1=1";
s+=" 1=2";
关于stringbuilder的说明,见http://apps.hi.baidu.com/share/detail/19417964
热心网友
时间:2023-10-14 23:53
就是添加啊,sb应该是一个字段,appeng()方法就是追加,比如你原来sb的值是abc,调用sb.Append(" 1=1")后就是abc1=1了,其实就是将这个添加到你原来的后面,许多sql语句也用这个方法来添加查询条件,最常见的是模糊查询
热心网友
时间:2023-10-14 23:54
你说的sb是StringBuffer吗 是的话 这个条件要还是 sql的话 就是说你写的sql语句到这里有很多条件需要追加 比如说 按照不同的条件查询 那么 1=1就是在这里恒成立 然后下面再根据需求 继续用sql拼接 或继续写条件 如“ and ”+sb.append(实例化对象.get属性())“+where ....不过这种情况下需要拼接sql的时候注意and 前面一定要有个空格
热心网友
时间:2023-10-14 23:55
sb是StringBuffer类的一个实例;
Append是它的一个函数,往缓存里面添加东西的
楼上已经说得很清楚了,我也不过多解释
你也可以在VS里面按个“.”自己去看看这个函数是干嘛的