String urldup = "jdbc:odbc:Clientes";
String usrdup = "";
String sendup = "";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
Connection condup;
condup = DriverManager.getConnection(urldup, usrdup, sendup);
Statement stadup = condup.createStatement();
ResultSet resdup = stadup.executeQuery("SELECT * FROM duplic");
String urlnew = "jdbc:postgresql://localhost/dffalu";
String usrnew = "postgres";
String sennew = "tornado";
Class.forName("org.postgresql.Driver").newInstance();
Connection connew;
connew = DriverManager.getConnection(urlnew, usrnew, sennew);
Statement stanew = connew.createStatement();
stanew.execute("Set DateStyle to ISO, DMY;");
String cmdatual = "";
String strDTEMIS = "";
String strDTVENC = "";
String strDTPAGT = "";
SimpleDateFormat chkFORMAT;
Calendar chkDTCOTA = Calendar.getInstance();
chkFORMAT = new SimpleDateFormat("dd/MM/yyyy");
chkFORMAT.setLenient(false);
while (resdup.next()){
try{
strDTEMIS = resdup.getString("DUP_DTEMIS");
strDTVENC = resdup.getString("DUP_DTVENC");
strDTPAGT = resdup.getString("DUP_DTPAGT");
try {
chkDTCOTA.setTime(chkFORMAT.parse(strDTEMIS));
}
catch (Exception msgERRO) {
strDTEMIS = " / / ";
}
try {
chkDTCOTA.setTime(chkFORMAT.parse(strDTVENC));
}
catch (Exception msgERRO) {
strDTVENC = " / / ";
}
try {
chkDTCOTA.setTime(chkFORMAT.parse(strDTPAGT));
}
catch (Exception msgERRO) {
strDTPAGT = " / / ";
}
cmdatual = "INSERT INTO dupnew (dup_numero, dup_despar, dup_destot, dup_nrocli, dup_valnom, dup_valipi, dup_dtemis, dup_dtvenc, dup_dtpagt) VALUES (" +
resdup.getString("DUP_NUMERO") + ", '" +
resdup.getString("DUP_DESPAR") + "', '" +
resdup.getString("DUP_DESTOT") + "', " +
resdup.getString("DUP_NROCLI") + ", " +
resdup.getString("DUP_VALNOM") + ", " +
resdup.getString("DUP_VALIPI") + ", '#" +
strDTEMIS + "', '#" +
strDTVENC + "', '#" +
strDTPAGT + "');"
Estas linhas servem para converter um banco de dados em DBF atravez de uma conexão ODBC para o Postgres, faço a conversão numa boa, porem quando vai gravar as datas, ele da erro quando a data origem esta em branco.
As datas preenchidas são gravadas perfeitamente.
Ja tentei pegar o valor retornado, e testa-lo antes de gravar, mas não sei que valor passar para a instrução SQL para que grave o registro com a data em branco.