package shujukulianjie;import java.sql.*;public class ChaRu {
public static void main(String args[]) {
Connection conn;
Statement state;
ResultSet res;
ResultSet res1;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
conn = DriverManager.getConnection("jdbc:odbc:bbb", "", "");
state = conn.createStatement();
res = state.executeQuery("SELECT * FROM biao1"); while (res.next()) {
String bianma = res.getString(11);
// System.out.println("此时bianma的值是:" + bianma);
res1 = state.executeQuery("SELECT * FROM SHOUDONG_XINJIAN");
while (res1.next()) { String bianma_1 = res1.getString(2); // System.out.println("此时bianma_1的值是:" + bianma_1);
if (bianma.equals(bianma_1)) {
// System.out.println("此时两个值相等");
String daima = bianma;
String leixing = res1.getString(3);
String kaishi_time = res1.getString(4);
String jieshu_time = res1.getString(5);
System.out.println(daima + "/n" + leixing + "/n"
+ kaishi_time + "/n" + jieshu_time + "/n");
// System.exit(0);
res = state
.executeQuery("INSERT INTO biao1(八位代码,类型,开始时间,结束时间)VALUES('"
+ daima
+ "','"
+ leixing
+ "','"
+ kaishi_time
+ "','"
+ jieshu_time
+ "')");
} else {
break;
}
}
continue;
}
} catch (SQLException e) {
e.printStackTrace();
}
}}

解决方案 »

  1.   

    一个用jdbc-odbc桥接来连mssqlserver 2000的例子:(不过最好不用这种方式)import java.sql.*;public class OdbcTest {

    final String DBDRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
    final String DBURL = "jdbc:odbc:ODBC_SQLSERVER";
    final String USERNAME = "test";
    final String USERPASSWORD = "password";

    public OdbcTest(){
    try {
    Class.forName(DBDRIVER);
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    }

    /**
     *  先保证有如下表创建在sqlserver中
     *  
     *  create table tb1(
     *   c1 int,
     *   c2 varchar(30)
     *  )
     *   
     * 
     * */
    public void insert(){
    Connection conn = null;
    PreparedStatement pstmt = null;
    String sql = "INSERT INTO tb1 VALUES(?,?)";
    try {
    conn = DriverManager.getConnection(DBURL,USERNAME,USERPASSWORD);
    pstmt = conn.prepareStatement(sql);
    pstmt.setInt(1, 100);
    pstmt.setString(2, "这是插入的值");
    int i = pstmt.executeUpdate();
    System.out.println("影响 " + i + " 行."); } catch (SQLException e) {
    e.printStackTrace();
    }
    }

    public static void main(String[] args){
    OdbcTest test = new OdbcTest();
    test.insert();
    }
    }
    配置odbc数据源略。
      

  2.   

    2个问题分别解释下:
    1,jdbc链接问题
      你的连接看上去有点问题,居然conn = DriverManager.getConnection("jdbc:odbc:bbb", "", ""); 用户名和密码都是空的?
      给出sqlserver的连接例子,可以参考下:
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
      String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
      String user="sa";
      String password="";
      Connection conn= DriverManager.getConnection(url,user,password);
    2,数据插入问题
      这里你是用sql语句直接执行insert语句,那么这里有2个问题。
      1是你的数据中如果是有字符型的,我说的是数据库中的字段,那么就要sql语句中用单引号括起来,如:insert into temp(name) values('peter')
      2是你的时间类型,这里需要和各种数据库来结合看的,像oracle就是to_date('1999-09-09','yyyy-mm-dd'),mysql的话就直接是'1999-09-09',mysql会自己识别转换,其他的数据库请去查询各资料以上希望对你有些帮助
      

  3.   

    数据库不会用的是access吧,没用户名和密码的,而且是桥接方式