字符串比较在Java中不起作用
这是我的代码:为什么字符串比较在Java中不起作用,java,html,mysql,jdbc,Java,Html,Mysql,Jdbc,这是我的代码:为什么if((rs.getString(“order\u status”)!=ordstat)不起作用 String sql = "select order_id, order_dt, order_status, prod_name from orders where user_id = '"+user+"'"; try{ s = con.createStatement(); rs = s.executeQuery(sql); String ordstat = "Pending";
if((rs.getString(“order\u status”)!=ordstat)
不起作用
String sql = "select order_id, order_dt, order_status, prod_name from orders where user_id = '"+user+"'";
try{
s = con.createStatement();
rs = s.executeQuery(sql);
String ordstat = "Pending";
%>
<%
while( rs.next() ){
if ((rs.getString("order_status")) != ordstat){
%>
<div align="center">
<table border="1" cellpadding="5">
<tr>
<th>Select</th>
<th>Order ID</th>
<th>Name</th>
<th>Date</th>
<th>Status</th>
</tr>
<tr>
<form action = 'deleteorders' >
<td><input type="checkbox"/></td>
<td><%= rs.getString("order_id") %></td>
<td><%= rs.getString("prod_name") %></td>
<td><%= rs.getString("order_dt") %></td>
<td><%= rs.getString("order_status") %></td>
<%
}
}
%>
</form>
</tr>
</table>
<br>
<INPUT TYPE=SUBMIT VALUE="CANCEL">
</div>
<%
}
String sql=“从订单中选择订单id、订单dt、订单状态、产品名称,其中用户id=”“+user+”;
试一试{
s=con.createStatement();
rs=s.executeQuery(sql);
字符串ordstat=“待定”;
%>
挑选
订单号
名称
日期
地位
试试这个,因为这是推荐的方法
if (!(rs.getString("order_status")).equals(ordstat))
请注意,=比较对象的引用,如果要比较字符串的实际内容,请使用java中的equals()函数,使用相等运算符(“==”)检查字符串意味着您正在有效地将内存中该字符串对象的地址与另一个字符串对象进行比较。它从不比较字符串的内容
要比较两个字符串,请始终使用.equals方法
String x = "Hello";
String y = "World";
if (x.equals(y)) //if the strings are equals
System.out.println("Equals");
if (!x.equals(y)) //if the strings are not equal
System.out.println("Not Equal");
定义“不工作”。什么是ordstat
,什么是rs.getString(“订单状态”)
?请显示呈现的HTML输出,而不是此输出。@danronmoon代码清楚地定义了ordstat是什么。@Timmerz是的,您是正确的,现在它是。Touche@JavascriptL这段代码实际上没有足够的信息。例如,我们甚至不知道sql查询中返回了什么。您确实需要使用调试器查看这段代码。可能的谢谢的副本艾哈迈德,它现在运行良好了!@Ahmed-yup,你把它摇了!