Не удается обновить dbf с Java с помощью драйвера dBase

Привет, у меня есть файл dbf, который я хочу обновить, но каждый раз, когда я пытаюсь запустить оператор обновления, система говорит that the Index is not found, что использует Microsoft dBase driver.

Это код:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        String connString="jdbc:odbc:Driver={Microsoft dBASE Driver (*.dbf)};DefaultDir=Path";
        Connection connection=DriverManager.getConnection(connString);


        String sql;

        Calendar cal = Calendar.getInstance();
        cal.getTime();
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");


        String _time =sdf.format(cal.getTime());//Adding the Time of set the product.



        sql="UPDATE [MESAS] SET PER_MEZ="+args[2]+", HOR_MEZ='"+_time+"', MES_MEZ='"+args[2]+"' WHERE COD_MEZ='M01'";

    Statement query = connection.createStatement();
    query.execute(sql);

person hidura    schedule 11.07.2013    source источник
comment
Я предполагаю, что Java такая же, как С#, и вы должны защищаться от SQL-инъекций...   -  person Alan B    schedule 11.07.2013
comment
Вы добавили тег foxpro. Что это за стол на самом деле? дБейс или ФоксПро?   -  person Tamar E. Granor    schedule 12.07.2013
comment
Драйвер dBase открывает таблицы Fox Pro, проблема заключается в том, что я пытаюсь прочитать поле символов, которое вызывает проблемы.   -  person hidura    schedule 12.07.2013
comment
Вместо этого попробуйте драйвер Visual FoxPro. Может быть какая-то несовместимость.   -  person Tamar E. Granor    schedule 13.07.2013
comment
Где я могу найти этот драйвер?   -  person hidura    schedule 14.07.2013


Ответы (1)


Попробуйте использовать executeUpdate вместо выполнить. Есть некоторые странные проблемы с выполнением при выполнении таблицы UPDATE.

person Juned Ahsan    schedule 11.07.2013
comment
Но когда я делаю Select, возникает та же ошибка. - person hidura; 11.07.2013