我在读取数据库中的行的内容时遇到了问题。我想显示有关给定职位和姓名的员工的信息(暂时在控制台中)。我已经构建了路径,在H2中启动了数据库,但我不确定我是否正确地使用了PreparedStatement。
找不到"MyTable“表
为了提高可读性,我删除了try/catch。
static public void Search (JButton a , JFormattedTextField name, JComboBox<String> b ) {
a.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e ) {
Connection con = null;
con = DriverManager.getConnection("jdbc:h2:tcp://localhost/~/test" + "sa" + "");
Statement stm = null;
String ime = name.getText();// reads the name
String poz = (String) b.getSelectedItem();// reads the position
Class.forName("org.h2.Driver");
String sql1 = String.format("SELECT * FROM RABOTNICI WHERE IME = '%s' OR POZICIA = '%s'", ime, poz);
PreparedStatement prstm = null;
prstm = con.prepareStatement(sql1);
ResultSet rs = null;
rs = prstm.executeQuery(sql1);
}
});
}发布于 2018-01-14 11:51:18
jdbc:H2:tcp:.
您使用的是TCP连接,但没有像这样启动H2 TCP服务器:服务器。
通常,H2数据库在没有TCP服务器的情况下用作嵌入式数据库,如下所示:jdbc
jdbc:h2:/path/to/dbfile
发布于 2018-01-14 12:01:06
我认为你有一些信息来源,但还是出了点问题。
我的代码引号没有经过测试,但我相信已经足够清楚地得到了这个想法。
https://stackoverflow.com/questions/48249146
复制相似问题