Buongiorno ragazzi vi illustro brevemente il mio problema ,io ho una tabella di un database connessa in odbc tramite driver ACUODBC,questa tabella la devo periodicamente aggiornare prendendo i dati da un altra tabella, ora se gli faccio fare un update o un insert tutto funziona, ma se eseguo un controllo di esistenza del campo(se non esiste lo inserisci) non funziona sembra quasi come la condizione non la eseguisse . vi posto il codice


[CODE]

public Vector aggiornamento() throws IOException,SQLException
{
try {
/*
String [] record; //[] = array
int colonne = 0;
query ="SELECT m.cf_610,m.cf_607 FROM vtigercrm521.vtiger_accountscf AS m LEFT JOIN vtigercrm521.vtiger_account AS a ON m.accountid = a.accountid";


Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/vtigercrm521", "root", "dillo");


Statement stmt = conn.createStatement(); // Creo lo Statement per l'esecuzione della query
rs = stmt.executeQuery(query); // Ottengo il ResultSet dell'esecuzione della query
v = new Vector();
ResultSetMetaData rsmd = rs.getMetaData();
colonne = rsmd.getColumnCount();

while(rs.next()) { // Creo il vettore risultato scorrendo tutto il ResultSet
record = new String[colonne];
for (int i=0; i<colonne; i++) record[i] = rs.getString(i+1);
v.add((String[]) record.clone() );


}

rs.close(); // Chiudo il ResultSet
stmt.close(); // Chiudo lo Statement





*/



//ciccio ci =new ciccio();
//iosvolto n =new iosvolto();
//n.elimina();

Vector data = new Vector();
Vector columnNames = new Vector();
query ="SELECT m.cf_610,m.cf_607,a.accountname FROM vtigercrm521.vtiger_accountscf AS m LEFT JOIN vtigercrm521.vtiger_account AS a ON m.accountid = a.accountid";


//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/vtigercrm521", "root", "dillo");
//Class.forName("com.mysql.jdbc.Driver");
//Connection con=DriverManager.getConnection("jdbc:mysql://localhost/dillo", "root", "dillo");


stmnt = conn.prepareStatement(query);
rs = stmnt.executeQuery();
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
for (int c=1; c <= columns; c++)
columnNames.add(md.getColumnName(c));


while (rs.next())
{

Vector row = new Vector(columns);

for (int i = 1; i <= columns; i++)
{
row.addElement( rs.getObject(i) );

//,CLI_CODICE_ALTERNATIVO '"+rs.getObject(2)+"'


//PreparedStatement stmt2 = con.prepareStatement("INSERT INTO CLI (CLI_CODICE,CLI_CODICE_ALTERNATIVO) VALUES ('"+rs.getObject(1)+"','"+rs.getObject(2)+"')");
/*String query1="INSERT INTO CLI (CLI_CODICE,CLI_CODICE_ALTERNATIVO) VALUES ('"+rs.getObject(1)+"','"+rs.getObject(2)+"')";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbcdbc:g2des1");
stmnt2 = con.createStatement();
stmnt2.executeUpdate(query1);
*/


}
System.out.println("I numeri inseriti sono:" +rs.getObject(1)+ "," +rs.getObject(2));
String query1="INSERT INTO CLI (CLI_CODICE,CLI_CODICE_ALTERNATIVO) VALUES ('"+rs.getObject(1)+"','"+rs.getObject(2)+"') WHERE not exist (INSERT INTO CLI (CLI_DESCRIZIONE1,CLI_DESCRIZIONE2) VALUES ('"+rs.getObject(1)+"','"+rs.getObject(2)+"')";
//String query1="INSERT DELAYED INTO CLI (CLI_CODICE,CLI_CODICE_ALTERNATIVO)VALUES ('"+rs.getObject(1)+"','"+rs.getObject(2)+"') ";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbcdbc:g2des1");

stmnt2 = con.createStatement();
data.addElement( row );


Thread.sleep(1000);

stmnt2.executeUpdate(query1);
}
[\CODE]