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数据库。