A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 寥若星辰 中级黑马   /  2012-12-21 20:37  /  2009 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

关于拼接SQL语句的方式有哪些呢?

6 个回复

倒序浏览
拼接SQL语句?嘛意思?
回复 使用道具 举报
你所谓的sql语句是不是增,删,改,查呀!。
如果是的话它主要用于拼接操作有条件的增,删,改,查。
既然是拼接语句如果长度不确定的话就用StringBuffer修饰
回复 使用道具 举报
string strSql="select * from table where 1=1";
string strW="";
if (条件1!="")  
strW+=" and 字段1='"+条件1+"'";
if (条件2!="")  
strW+=" and 字段2='"+条件2+"'";
strSql+=strW;
回复 使用道具 举报
可以用参数化的方式拼接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"
回复 使用道具 举报
刚刚学到的string.Join(" and ",string),string.Join(" or ",string)等。
回复 使用道具 举报
同意楼上的,最好些SQL的时候,注意点防注入的,比如sqlparameter ,还有在用JOIN的时候,注意STRING的参数,如果没有,就不要JOIN了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马