Microsoft Sql Server未使用java通过Where Condition获取记录



我可以用简单的查询将所有记录打印为Select * from table_name;,但当我与Where子句一起使用时,它没有给出任何行,在我的表中,列索引是7,请帮助我如何解决这个问题。

select * from TABLE_NAME (nolock) where CUSTOMERID=765432345;

请提供原因,为什么会发生这种情况,但我已经尝试使用另一个查询从客户表中获取客户id,然后它可以像下面的代码一样正常工作。

Java代码是:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;    
public class SqlServerDB {
public static final String connectionUrl = "jdbc:sqlserver://ip:PORT;DatabaseName=<db name>";
public static final String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
static String userName = "xxxxxxxxx";
static String password = "xxxxxxxxx";
public static Connection conn;
static ResultSet query;
static String status;
static Statement statement;
public static Connection connect() {
System.out.println("Sql Server Database Connection Started");
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(connectionUrl, userName, password);
if (conn != null) {
System.out.println("Database Connection is established");
} else {
System.out.println("Database is not Connected");
}
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void main(String args[]) throws SQLException {
conn = connect();
// Create Statement
statement = conn.createStatement();
String sqlQ = "select * from TABLE_NAME (nolock) where CUSTOMERID=765432345";
// Execute the query
query = statement.executeQuery(sqlQ);
if(query.next()) {
if(query.getString("INVOICE")!=null) {
System.out.println(status=query.getString("INVOICE"));  
}
} else {
System.out.println("No rows Returned");
}
}
}

也许它区分大小写?

尝试

select * from table_name (nolock) where CUSTOMERID=765432345;

最新更新