protected boolean alreadyin(String tname,String colname, String value)
{
int result;
ResultSet rst=null;
try {
//执行SQL语句
String query = "select "+colname+" from "+tname+" where "+colname+"='"+value+"'";
Statement statement = connformax.createStatement();
rst = statement.executeQuery( query );
if(rst.next())
{
statement.close();
rst.close();
return true;
}
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
return false;
}
return false;
}
protected int getIdfromNumber(String tname,String colname, String value)
{
int result;
ResultSet rst=null;
try {
Connection conn= DriverManager.getConnection( destPara.getUrl(), destPara.getUsername(),destPara.getPassword());
String query = "select id,"+colname+" from "+tname+" where "+colname+"='"+value+"'";
System.out.println(query);
Statement statement = conn.createStatement();
rst = statement.executeQuery( query );
if(rst.next())
{
return rst.getInt("id");
}
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
return 0;
}
return 0;
}
/**
* 得到某个表中的最大的id号
*/
protected int getMax(String tname)
{
int result;
ResultSet rst=null;
try {
//执行SQL语句
String query = "select Max(id) from "+tname;
Statement statement = connformax.createStatement();
rst = statement.executeQuery( query );
if(rst.next())
{
return rst.getInt(1)+1;
}
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
return 0;
}
return 1;
}
/**
* 执行某一段sql语句
*/
public static void execute(ConnPara connpara,String stmt) throws SQLException
{
Connection conn=null;
PreparedStatement ps = null;
try {
conn=DriverManager.getConnection( connpara.getUrl(),
connpara.getUsername(), connpara.getPassword());
System.out.println(stmt);
ps = conn.prepareStatement(stmt);
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
} finally {
if (ps!=null) ps.close();
if (conn!=null)conn.close();
}
}
public static void main(String argc[])
{
DbInput copydb=new DbInput();
copydb.dbInit();
copydb.copyproduct();
}
}
问题:
1)
access数据库不能直接由jdbc读写,解决办法是先把access配置在ODBC中,然后再通过ODBC来操作access数据库。
2)
执行时找不到com.microsoft.jdbc.sqlserver.SQLServerDriver类,这是因为在运行这个类时,要下载微软的jdbc包,这个包中有三个文件: msbase.jar,mssqlserver.jar,msutil.jar,把这三个文件包含进去,就不会有问题了。