import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;import oracle.jdbc.*;
import oracle.jdbc.oci.*;
import oracle.jdbc.pool.*;public class test
{
public static void main(String[] args) 
{
    try {
      DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
      Connection conn = DriverManager.getConnection("jdbc:oracle:oci:@fashion_211.152.15.169","user_test", "lizh");
      String strSQL=null;
      strSQL="insert into table1(name) select name from TABLE_TEST";
      Statement  stmt=conn.createStatement();
      ResultSet rset=stmt.executeQuery(strSQL);
      System.out.println("begin........");
      while(rset.next())
      {
        System.out.println(rset.getString(1));
      }
    }
      catch (Exception e1) {
        System.out.println(e1.getMessage());
      }
}
}数据库oracle

解决方案 »

  1.   

    我用的是SQL Server 2000,这样写会出现SQLException:
    driver does not supprt this function
      

  2.   

    我的代码如下:
    String dbURL = "jdbc:odbc:SMS";
    String dbuser = "sa";
    String dbpassword = "123";
    String databasename = "SMS";Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    Connection con = DriverManager.getConnection(dbURL,dbuser,dbpassword); 
    Statement sqlDb = con.createStatement();
    con.setCatalog(databasename);

    String sqlStr = "select * from Message";
    PreparedStatement preparedstatement = con.prepareStatement(sqlStr);
    ResultSet rs = preparedstatement.executeQuery();

    while (rs.next()) {
    ....................
    }//将记录拷贝到历史记录表,并从原表删除
    strSQL="insert into history select * from Message";
    Statement  stmt=con.createStatement();
    ResultSet rset=stmt.executeQuery(strSQL);
    strSQL="Delete * from Message";
    rset=stmt.executeQuery(strSQL);
    这样写就出错了,应该怎样写啊?
      

  3.   

    strSQL="insert into history select * from Message";
    Statement  stmt=con.createStatement();
    stmt.executeUpdate(strSQL);
    strSQL="Delete * from Message";
    rset=stmt.executeUpdate(strSQL);excuteQuery  只能用語select 等而update insert delete 等都是用executeUpdate
      

  4.   

    import java.sql.*;public class SQLServerTest
    {
      public static void main(String[] args)
      {
        try
        {
          String dbURL                                                                     = "jdbc:microsoft:sqlserver://211.154.215.164:1433;DATABASENAME=platform";
          String userName = "sa";
          String passWord = "bird_123";
          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
          conn = DriverManager.getConnection(dbURL, userName,passWord)
          Statement stmt = conn.createStatement();
          String sql = "select * from mytable";
          rs = stmt.executeQuery(sql);
          while(rs.next())
          {
            System.out.print(rs.getString("column_name"));
          }
        }catch(SQLException sqle)
        {
          sqle.printStackTrace();
        }
        finally
        {
          try
          {
            rs.close();
            stmt.close();
            conn.close();
          }
          catch(SQLException sqle){}
        }
      }
    }只要是更改数据都用stmt.executeUpdate(),返回的是修改或者删除的行数。