【发布时间】:2018-02-14 17:18:57
【问题描述】:
我正在尝试使用 PreparedStatement 和 ResultSet 在 MySQL 中的数据库中执行查询。
问题是我在 MySQL 中得到一个空的结果集,否则我在 Derby 上得到一个正确的结果。
Connection con= null;
ResultSet reslt =null;
PreparedStatement ps = null;
try
{
//Class.forName("org.apache.derby.jdbc.ClientDriver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/SAIID","SAIID","SAIID");
//con = DriverManager.getConnection("jdbc:derby://localhost:1527/pavillons","saiid","saiid");
String Query =" SELECT * FROM ETUDIANT_PAV WHERE PAVILLONS = ? AND CHAMBRE = ? "
ps = con.prepareStatement(query, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ps.setString(1, "A");
ps.setString(2, "1");
reslt = ps.executeQuery();
//String thequeryresult= reslt.getString("NOM_PRENOM");
//System.out.println ("this is the query result"+thequeryresult);
JOptionPane.showMessageDialog(null, "Query Executed");
//con.close();
}
catch (Exception ex)
{
JOptionPane.showMessageDialog(null, ex.getMessage());
}
【问题讨论】:
-
数据库表中Chambre是varchar还是数字类型?
-
chambre 是一个 varchar。
-
你怎么知道Result是空的?
-
为什么是标签
phpmyadmin?它是 MySql 的一个管理工具。这与 JDBC MySQL 无关。你需要阅读ResultSet,通过reslt.next()开始将光标移动到第一行 -
在哪里??然后提供minimal reproducible example!它返回空结果集的原因可能是因为 DB SAIID 在 ETUDIANT_PAV 中没有任何行?您是否在命令外壳或 phpmyadmin(网页)中运行它 仅供参考:PhpmyAdmin 不是数据库,MySQL 是。 PHPMyAdmin 只是一个工具,它为您提供了一个很好的 GUI 来管理您的数据库
标签: java mysql jdbc prepared-statement resultset