Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串比较在Java中不起作用_Java_Html_Mysql_Jdbc - Fatal编程技术网

字符串比较在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,你把它摇了!