初学JAVA,好不容易解决了这个数据库连接问题,这个主要是有两个问题,一个是JDBC-odbc的问题,如果没有解决好数据源配置,绝对是有容易出问题的,假设你使用的是access的数据库,这是网上的一个例子的语句
String dburl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=database.mdb";
其实并不需要那么长,假设你的数据源名为book,String dburl="jdbc:odbc:book";这样就能访问了,上面的写法应该也可以,但是本人没成功,
估计是因为使用了绝对路径的原因。
我写了半天,因为是个菜鸟,所以实在是难受,总算写出个能用的两个数据库的查询调用,其实在这里我只用了一个数据库,不过两个也是完全可以的。
这里就涉及到另一个问题,数据类型的问题,我是自学的,对于这个实在是没有经验,权当是交了学费了……源代码如下:
import java.sql.*; public class Sms { String str1=""; public String myforum(){ try{ String strurl="jdbc:odbc:myforum"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn=DriverManager.getConnection(strurl); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery("select id from tdcode WHERE sim='13461544271'"); while(rs.next()){ str1=rs.getString(1); } rs.close(); stmt.close(); }catch(Exception e){ }return str1; } public void myforum2(String str1){ try{ String strurl="jdbc:odbc:myforum"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn=DriverManager.getConnection(strurl); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery("select user from tdcode WHERE id="+str1+""); while(rs.next()){ System.out.println(rs.getString(1)); } rs.close(); stmt.close(); }catch(Exception e){ e.printStackTrace(); } } public void run(){ myforum(); myforum2(str1); } public static void main(String[] args){ Sms sms = new Sms(); sms.run(); } }
留此权当纪念