import java.sql.*;
import java.io.*;
public class L_j {
public static void main(String[] args)throws IOException
{ test();}
public static String test(){
try
{
String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String con="jdbc:microsoft:sqlserver://172.127.10.5:1433;DatabaseName=test";
String user="sa";
String password="";
Class.forName(driver);
System.out.println("驱动sqlserver成功");
Connection conn = DriverManager.getConnection(con,user,password);
System.out.println("连接sqlserver数据库成功");
Statement stmt=conn.createStatement();
String sql="";
Statement ostmt=oraclejdbc();
ResultSet ors=ostmt.executeQuery("select * from xxh_test");
while(ors.next()){
ResultSet rs1=stmt.executeQuery("select * from Student");
while(rs1.next()){
if (ors.getString(1).equals(rs1.getString(1)))
continue;
stmt.executeUpdate("insert into Student values('"+ors.getString(1)+"','"+ors.getString(2)+"','"+ors.getString(3)+"','"+ors.getString(4)+"')");
}
}
sql ="select * from Student";
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd=rs.getMetaData();
int colcount=rsmd.getColumnCount();
while(rs.next())
{
for(int i=0;i<colcount;i++){
System.out.print(rs.getString(i+1)+"\t");
}System.out.println();
}
ors.close();
ostmt.close();
rs.close();
stmt.close();
conn.close();
}
catch(Exception ex)
{
System.err.println(ex.getMessage());
}
return null;
} /**create a method
*get oracle for jdbc
*connection
*insert . update. delete*/
public static Statement oraclejdbc(){
//Statement ostmt = null;
try
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("找到oracle驱动!");
}
catch(java.lang.ClassNotFoundException e)
{
System.err.print(e.getMessage());
}
String url="jdbc:oracle:thin:@web:1521:oradb";
Connection oconn=DriverManager.getConnection(url,"compiere","erecompi");
System.out.println("oracle驱动连接成功!");
Statement ostmt=oconn.createStatement();
return ostmt;
}
catch(SQLException ex)
{
while(ex!=null)
{
System.out.println(ex.getSQLState());
}
}return null;
}
}
我现在遇到的难题是从一张表插入到另一张表记录之前我想对其进行判断,如果该记录已有则不添加,可我的功能每次只能添加一条记录关键在这while(ors.next()){
ResultSet rs1=stmt.executeQuery("select * from Student");
while(rs1.next()){
if (ors.getString(1).equals(rs1.getString(1)))
continue;
stmt.executeUpdate("insert into Student values('"+ors.getString(1)+"','"+ors.getString(2)+"','"+ors.getString(3)+"','"+ors.getString(4)+"')");
各位朋友我该怎么写才能实现我想要的结果
运行结果是:
驱动sqlserver成功
连接sqlserver数据库成功
找到oracle驱动!
oracle驱动连接成功!
[Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.
import java.io.*;
public class L_j {
public static void main(String[] args)throws IOException
{ test();}
public static String test(){
try
{
String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String con="jdbc:microsoft:sqlserver://172.127.10.5:1433;DatabaseName=test";
String user="sa";
String password="";
Class.forName(driver);
System.out.println("驱动sqlserver成功");
Connection conn = DriverManager.getConnection(con,user,password);
System.out.println("连接sqlserver数据库成功");
Statement stmt=conn.createStatement();
String sql="";
Statement ostmt=oraclejdbc();
ResultSet ors=ostmt.executeQuery("select * from xxh_test");
while(ors.next()){
ResultSet rs1=stmt.executeQuery("select * from Student");
while(rs1.next()){
if (ors.getString(1).equals(rs1.getString(1)))
continue;
stmt.executeUpdate("insert into Student values('"+ors.getString(1)+"','"+ors.getString(2)+"','"+ors.getString(3)+"','"+ors.getString(4)+"')");
}
}
sql ="select * from Student";
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd=rs.getMetaData();
int colcount=rsmd.getColumnCount();
while(rs.next())
{
for(int i=0;i<colcount;i++){
System.out.print(rs.getString(i+1)+"\t");
}System.out.println();
}
ors.close();
ostmt.close();
rs.close();
stmt.close();
conn.close();
}
catch(Exception ex)
{
System.err.println(ex.getMessage());
}
return null;
} /**create a method
*get oracle for jdbc
*connection
*insert . update. delete*/
public static Statement oraclejdbc(){
//Statement ostmt = null;
try
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("找到oracle驱动!");
}
catch(java.lang.ClassNotFoundException e)
{
System.err.print(e.getMessage());
}
String url="jdbc:oracle:thin:@web:1521:oradb";
Connection oconn=DriverManager.getConnection(url,"compiere","erecompi");
System.out.println("oracle驱动连接成功!");
Statement ostmt=oconn.createStatement();
return ostmt;
}
catch(SQLException ex)
{
while(ex!=null)
{
System.out.println(ex.getSQLState());
}
}return null;
}
}
我现在遇到的难题是从一张表插入到另一张表记录之前我想对其进行判断,如果该记录已有则不添加,可我的功能每次只能添加一条记录关键在这while(ors.next()){
ResultSet rs1=stmt.executeQuery("select * from Student");
while(rs1.next()){
if (ors.getString(1).equals(rs1.getString(1)))
continue;
stmt.executeUpdate("insert into Student values('"+ors.getString(1)+"','"+ors.getString(2)+"','"+ors.getString(3)+"','"+ors.getString(4)+"')");
各位朋友我该怎么写才能实现我想要的结果
运行结果是:
驱动sqlserver成功
连接sqlserver数据库成功
找到oracle驱动!
oracle驱动连接成功!
[Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.
解决方案 »
- 如何用Java将.csv文件导入到Access2007
- 一个XML问题 求大神给指导一下 急
- string[]中查找问题
- htmlparser改变html
- 一个奇怪的runtimeException
- 国殇而觉醒:拟好好生活学习,希望大家多多帮助。
- jdk\lib, jdk\jre\lib 和 jdk\jre\lib\ext 这三个文件夹有什么区别呀?
- HelloWorld问题?
- 与问题答案接近50分,答对追加50分,我的一个Frame窗口,构造器如下:
- 如何捕获鼠标单击事件?????
- 请问如何用jTable更新数据库(Swing和hibernate)
- 书中的代码 。关于javabean的,这个错误提示该怎么做??还有个疑问是 怎么根据错误提示知道什么地方错了。这个我怎么就看不出来呢
并且对于rs以及,statement的close最好放在finally里面加个判断try一下,要不会抛异常的;
例如:
finally{
if(rs!=null){
try{
rs.close();
}catch{
//...throw new ...;
}
}
}