下面是我的两个SQL Server表。
Taddress
addressId | addressName |
2 | testAddress |
Tlink
linkId | clientId | addressId |
1 | 4 | 2 |
我正在尝试编写一个java测试,它使用SQL子查询来检查taddress中是否存在记录。
例如:
SELECT COUNT(*) FROM Taddress
WHERE addressId =
(SELECT addressId FROM Tlink
WHERE clientId = param)
目前,当我运行下面的测试时,即使tLink中不存在clientId参数,测试也总是通过。
try {
dbAccessSetUp();
ResultSet rs = stmt.executeQuery("SELECT COUNT(*) FROM taddress a INNER JOIN tlink l on a.address_id = l.internal_address_id WHERE l.ext_client_id =" + this.clientNo);
if(!rs.next()) {
fail("Record does not exist in taddress based on ExtClientNo");
}
int count = 0;
while(rs.next()) {
count = rs.getInt(1);
System.out.println("number of count : " + count);
assertTrue(0 < count);
}
rs.close();
} catch(SQLException se) {
se.printStackTrace();
assertEquals(true, false);
} catch(Exception e) {
e.printStackTrace();
assertEquals(true, false);
} finally {
try {
if(stmt!=null) stmt.close();
} catch(SQLException se2) {
assertEquals(true, false);
}
try {
if(conn!=null) conn.close();
} catch(SQLException se) {
se.printStackTrace();
assertEquals(true, false);
}
}
https://stackoverflow.com/questions/52906656
复制相似问题