如何将 JAVa中的 String类变量嵌入SQL查询语句中...?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将 JAVa中的 String类变量嵌入SQL查询语句中...?相关的知识,希望对你有一定的参考价值。

<%String str = "";
if(session.getAttribute("b") != null)
str = (String)session.getAttribute("b");
byte c[]=str.getBytes("ISO-8859-1");
String strs=new String(c);
out.print(str );

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from student");
while(rs.next())


String c="\t"+rs.getString("no")+"\t"+rs.getString("name")+"\t"+rs.getString("sex")+"\t"+rs.getString("profesion")+"\t"+rs.getString("grade")+"\t"+rs.getString("class");
%>
<h3><%=c%></h3>

参考技术A PreparedStatement pstm = conn.PreparedStatement("select * from t where t.name=?");

pstm.setString(1, "myName");

rs = pstm.executeQuery();本回答被提问者采纳
参考技术B String sql = "select * from table_name where colmn_name = '"+yourname+"'";
ResultSet rs=stmt.executeQuery(sql);
参考技术C 别在界面写代码....很多公司里面是不允许这种情况的..

如何理解嵌入在 Java Script 中的 SQL 查询中的转义

【中文标题】如何理解嵌入在 Java Script 中的 SQL 查询中的转义【英文标题】:How to understand escaping in this SQL query embedded in Java Script 【发布时间】:2014-10-27 22:09:16 【问题描述】:
var queryString="select replace(B.entity, '''','\\\''') from B"

我假设下一行将在 Oracle 数据源中触发此查询。

我认为它说在原始数据响应中用反斜杠撇号替换任何撇号字符。

是吗?

但我仍在试图理解为什么会这样。第二个参数只是转义将两个撇号放在一起作为转义撇号的 Oracle 方式。但是第三个参数呢?为什么需要三个反斜杠?为什么不是'\\'''

【问题讨论】:

这不是 Oracle PL/SQL 相关的,而是普通的 SQL。已编辑。 【参考方案1】:

它将用三个反斜杠替换一个单引号,然后是一个引号。

为了检查这个我做了

select replace('''blah''', '''','\\\''') from dual;

这会返回

\\\'废话\\\'

【讨论】:

你的例子中 B.entity 的价值是什么? b.entity 只是表格中的一个字段,因此我将其替换为文本 '''blah'''。

以上是关于如何将 JAVa中的 String类变量嵌入SQL查询语句中...?的主要内容,如果未能解决你的问题,请参考以下文章

java中如何把一个String类型的变量转换成double型的?

需要帮助将 c-strings 从嵌入式 SQL fetch 复制到单独结构中的另一个 c-string

java 如何将String 转换成 枚举

在Java接口的实现类中如何调用这个接口中定义的变量?

关于 C# 中list<string> 的用法

如何在java类中嵌入版本字符串