黑马程序员技术交流社区

标题: 拼接SQL语句 [打印本页]

作者: 寥若星辰    时间: 2012-12-21 20:37
标题: 拼接SQL语句
关于拼接SQL语句的方式有哪些呢?
作者: 赵小江    时间: 2012-12-21 20:40
拼接SQL语句?嘛意思?
作者: 谢辉林    时间: 2012-12-21 21:26
你所谓的sql语句是不是增,删,改,查呀!。
如果是的话它主要用于拼接操作有条件的增,删,改,查。
既然是拼接语句如果长度不确定的话就用StringBuffer修饰

作者: 张鹏飞    时间: 2012-12-21 21:37
string strSql="select * from table where 1=1";
string strW="";
if (条件1!="")  
strW+=" and 字段1='"+条件1+"'";
if (条件2!="")  
strW+=" and 字段2='"+条件2+"'";
strSql+=strW;
作者: 阮佳佳    时间: 2012-12-21 22:12
可以用参数化的方式拼接sql,比如
StringBuffer Sql=new StringBuffer("SELECT * FROM TABLE");  
Sql.append(" WHERE ");  //注意WHERE前后的空格。
if(条件1成立) Sql.append(" 字段1='"+条件1+"' AND ");//字段和条件可以自己随意设定   
if(条件2成立) Sql.append(" 字段2='"+条件2+"' AND ");
String FinalSQL=sql.toString();   
System.out.println(finalSQL);     
System.out.println("最后AND位置 "+finalSQL.lastIndexOf(" AND ")); //去掉最有一个AND ;没有AND的情况肯定是没有任何条件成立where也可以不要了     
finalSQL=finalSQL.substring(0,finalSQL.lastIndexOf(" AND ")>0?     finalSQL.lastIndexOf(" AND "):finalSQL.indexOf("WHERE"));   
System.out.println(finalSQL);*注:sql.append(" WHERE "); 就相当于 sql = sql + "where"
作者: Sailing.    时间: 2012-12-21 22:17
刚刚学到的string.Join(" and ",string),string.Join(" or ",string)等。
作者: 杭州-杨    时间: 2012-12-21 22:19
同意楼上的,最好些SQL的时候,注意点防注入的,比如sqlparameter ,还有在用JOIN的时候,注意STRING的参数,如果没有,就不要JOIN了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2