java中如何处理多条件的sql查询语句

java中如何处理多条件的sql查询语句,第1张

一般多个条件的时候,处理方式是 select * from table where 1 = 1先写上这样一个条件,这样你以后的条件就可以直接用 if判断了,比如现在有A ,B 两个条件 就可以直接这样

String sql = "select * from table where 1 = 1"

if( 条件A != null ){

sql += " and A =" + 条件A;

}

if( 条件B != null ){

sql += " and B =" + 条件B;

}

这样就可以避免多种情况存在的问题

如果只是查询~在数据库建立个相关的视图 感觉比表连结要省事 也不容易出错~

这不是为了查询么

你要使用增删改 语句表连接也不能实现啊。。你也要按照增删改相关的表 对不。。。所以查询 还是建立视图省事。。。增删改 该怎么做还怎么做

你这样做输出SS语句调试看看,你会发现你输出的SQL语句有问题!

String ss="SELETE * FROM MESSAGE WHERE"

int i=1char c='"'

if(na!=null)

{ss=ss+"AND 姓名='"+na+"'"i=0

System.out.println(ss)

}

if(se!="")

{

if(i==0){ss=ss+"AND 性别='"+se+"'"i=0}

else {ss=ss+"AND 性别='"+se+"'"i=1}

}

if(xi!="")

{

if(i==0){ss=ss+"AND 系别='"+xi+"'"i=0}

else {ss=ss+"AND 系别='"+xi+"'"i=1}

}

if(zh!="")

{

if(i==0){ss=ss+"AND 专业='"+zh+"'"i=0}

else {ss=ss+"AND 专业='"+zh+"'"i=1}

}

if(ni!="")

{

if(i==0){ss=ss+"AND 年级='"+ni+"'"}

else {ss=ss+"AND 年级='"+ni+"'"}

}

ss=c+ss+c

rs=sql.executeQuery(ss)

就拿第一个SQL语句来做示范,加入你的na值为abc,输出的SS是 SELETE * FROM MESSAGE WHEREAND 姓名= 'abc'

仔细一看就知道SQL语句上很严重的错误 WHERE 后面接了AND关键词

可以这样改:ss=ss+" " + "姓名='"+na+"'" +" " +"AND"

最后使用replaceAll('AND$', ")") 替换最后一个AND字符穿。或者使用字符创截取 去掉最后三个字符(AND)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9411432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存