SALVE QUESTO PROGRAMMA LEGGE UN INTERA COLONNA DI UN ADATABASE DRAMITE ODBC E VA AD INSERIRE IN UNA TABELLA DI UN DATABASE MYSQL,
ALCUNI CAMPI DELLA TABELLA CONNESSA IN ODBC, IL PROBLEMA è CHE L'INSERIMENTO SI STOPPA QUANDO LEGGE UNA STRINGA DOVE è PRESENTE UN APOSTROFO.COME POSSO RISOLVERE ??
codice:
import java.io.*;
import java.sql.*;
public class AggVtiger
{
String query;
Statement stmnt;
ResultSet rs;
Connection conn = null;
private String clicodice ;
private String clicodicealt ;
private String clidescri1 ;
private String clidescri2 ;
private String clitel ;
private String telex ;
private String fax ;
private String email;
private String codicestato ;
String clidescri;
public static void caricaDriver() {
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch (Exception e){
System.err.println("Errore driver DB!");
System.err.println(e.getMessage());
}
}
public Connection connetti() throws SQLException {
//apro la connessione al DB
//conn=DriverManager.getConnection("jdbc:mysql://localhost/dillo", "root", "");
conn=DriverManager.getConnection("jdbc:mysql://localhost/dillo", "root", "dillo");
return conn;
}
public void aggiornamento() throws IOException,SQLException
{
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:G2_BMB");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM CLI");
while(rs.next()){
String clidescri1 = rs.getString(3);
System.out.print("\n");
//System.out.print(clidescri1);
clidescri = clidescri1.replaceAll("'","'");
System.out.print(clidescri);
inserisci(clidescri);
} // try
stmnt.close();
rs.close();
}
catch( Exception e ) {e. printStackTrace();}
}
public void inserisci (String clidescri)throws SQLException
{
query ="";
query = "INSERT INTO mas(nome) VALUES('"+clidescri+"')";
stmnt = conn.createStatement();
stmnt.executeUpdate(query);
}
public static void main(String[] args) throws Exception{
try {
AggVtiger d = new AggVtiger();
d.caricaDriver();
d.connetti();
d.aggiornamento();
}
catch (SQLException e) {
e.printStackTrace();
}
}
}