Tag: jdbc

J2ME上的JDBC支持

目前我正在尝试在Windows Mobile 6.1设备上运行现有的Java应用程序。 Java应用程序是为服务器端开发的,并使用JDBC。 我的问题是Java应用程序使用java.sql.DriverManager,J9运行时或任何CDLC / CDC实现都不支持它。 经过大量的研究后,似乎没有一种标准的方法可以做到这一点。 JSR 169也不支持这个类。 所以,我想知道你们是否有类似的问题,如果你必须提到任何适当的软件堆栈,基本上支持移动设备上的java.sql。*包。 似乎规范不支持这一点,唯一的方法是基本上通过黑客攻击… 提前致谢

如何迁移Java,Spring Project以使用JNDI数据源

我有一个从命令行运行的Java项目。 它正在使用Spring。 目前我的项目是mySQL。 使用可以从下面的config.xml中看到 我的公司要求我将项目从使用MySQL改为使用JNDI数据源。 下面是我的java代码,你可以看到使用jdbcTemplate: public class DisasterReliefMySQLImpl extends JdbcTemplate implements DisasterReliefMySQL { private static Log log = LogFactory.getLog(DisasterReliefMySQLImpl.class .getName()); String querySQL; int counter = 0; public int getCounter() { return counter; } private String getQuerySQL() { return querySQL; } private void setQuerySQL(String querySQL) { this.querySQL = querySQL; } DisasterReliefMySQLImpl(DataSource ds) { super(ds); } […]

在选择行然后单击按钮时从多个表中获取数据

我尝试运行下面的代码,但每次运行它,它都不起作用。 任何人都可以强调我做错了吗? 代码应该做的是: 我必须在数据库中调用表r,另一个名为sa,表r包含列称为外键。 在我的java前端,我在jpanel中有一个Jtable,在另一个jpanel中有一个更新按钮。 当用户在jtable中选择一行然后单击“更新”时。 如果jtable r中的选定行具有sa id作为外键,该工具将显示来自文本框中的r的数据以及来自sa的数据。 代码 if(updateClicked == true){ btnSubmit.setVisible(false); btnUpdate.setVisible(true); btnNew.setEnabled(false); Statement st; PreparedStatement ps; ResultSet rs; try { String rid = table.getValue(0); JOptionPane.showMessageDialog(null, rid); String rq =”SELECT * FROM `r` WHERE ‘r_id`=’ “+rid+”‘”; ps = Login.con.prepareStatement(rq); rs = ps.executeQuery(); String saID = rs.getString(2); String q = “SELECT sa.Argument FROM […]

如何将dbcp连接转换为oracle连接?

我需要在运行时将PoolableConnection转换为OracleConnection,但我不知道该怎么做。 因为我得到了classCastException,如果所有类都扩展了Connection,我能做到吗?

如果密码具有特殊字符,则无法使用JDBC连接到oracle数据库

我正在尝试使用JDBC连接到oracle数据库。 以下是代码:: public class OraclePwdTest { static{ try { Class.forName(“oracle.jdbc.OracleDriver”); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static void main(String[] args) { // TODO Auto-generated method stub String ip =”192.168.20.145″; String sid = “oradg”; int port = 1521; String user = “sys”; String pwd = “s@novi123”; Connection conn = null; String url = […]

SQLException:ResultSet关闭后不允许操作

我正在尝试执行getPendingSalesOrderIDs()方法,该方法调用方法selectInAsending(…)。 但是这显示了一个SQLException,说java.sql.SQLException:ResultSet关闭后不允许操作 这里db.endSelect()将关闭所有连接。 我认为问题在于此。 public ArrayList getPendingSalesOrderIDs() { ArrayList a = new ArrayList(); try { //ResultSet r = znAlSalesOrder.select(“sono”, “”); ResultSet r = salesOrder.selectInAsending(“soNo”, “productionStatus = ‘pending’ and formatID=’Zn-Al'”, “soNo”); r.beforeFirst(); while (r.next()) { a.add(r.getString(1)); } } catch (SQLException ex) { } return a; } public ResultSet selectInAsending(String fields,String selection, String orderField) { db = […]

结果集中的重复检索返回null

我遇到了ResultSet.getString的问题,当我第一次调用它时它会调用它但第二次返回null(这不会关闭结果集或sql连接) if (rs.getString(i) == null) { properties.setProperty(metaData.getColumnLabel(i), “”); } else { properties.setProperty(metaData.getColumnLabel(i), rs.getString(i)); } 当然代码很容易修复,以避免第二次调用rs.getString()但我想要理解的是为什么第二次返回null如果第一次没有

无法将阿拉伯字符插入oracle数据库

我在使用JDBC驱动程序从java中读取oracle中的阿拉伯字符时出现问题,主要问题是我找不到正确的字符编码来获取正确的数据,但我使用此方法手动解决了问题: public static String cleanORCLString(String s) throws UnsupportedEncodingException { byte[] bytes = s.getBytes(“UTF16”); String x = new String(bytes, “Cp1256”); String finalS = x.substring(3); StringBuilder sb = new StringBuilder(finalS); for(int k = sb.length() – 1 ; k > 0 ; k–) { if(!isEven(k)) { sb.deleteCharAt(k); } } return sb.toString(); } 这个方法给我正确的字符,就像它在数据库中显示的那样,但是当我尝试更新/插入阿拉伯数据时,它会保存错误的字符。 例如:我的文本在数据库中保存为“?????????” 而不是“مرحبا”。 这是我连接到oracle数据库的方式。 URL = […]

数据从文件解析为java然后进入mysql数据库

我有.Data文件以上述格式给出。 我正在用java编写一个程序,它将获取.data文件中的值并将其放入缓冲区。 我的java程序通过JDBC连接到Mysql(windows)。 所以我需要读取上面格式中给出的文件中的值,并将其作为缓冲区 Insert Into building values (“–“, “—“,—-) 这样,我存储这些值,jdbc将填充Mysql(windows)上的数据库表。 请告诉我最好的方式。

JDBC总是测试MySQL表的最后一行?

我有一个Manager类,它可以在SQL表中保存数据,也可以从SQL表中获取结果并测试这些数据。当我运行程序时,会显示一帧获取ID和密码,如果它们是正确的,另一帧将会显示。但我不知道为什么它只是测试SQL表的最后一行? 我的意思是,如果我将这些文本字段设置为除了最后一行之外的其他ID和密码。它将显示数据错误(我之前为错误的数据设置了它) 经理class: public static boolean Test(String userName, String password) { boolean bool = false; Statement stmt = null; try { stmt = conn.createStatement(); ResultSet rst = null; rst = stmt.executeQuery(“SELECT yahooId , password FROM clienttable”); while (rst.next()) { if (rst.getString(1).equalsIgnoreCase(userName) && rst.getString(2).equalsIgnoreCase(password)) { bool = true; } else { bool = false; } } […]