Вставить запрос не работает в коде, в то время как то же самое выполняется в браузере запросов ??? MySQL Java Code - PullRequest
0 голосов
/ 05 января 2012

Привет, я пытаюсь вставить данные в таблицу, мой код,

{
    StringBuilder html = new StringBuilder();
    InsertData="INSERT INTO  nagios.authors VALUES ('1','1','67','0','0','1','10','0','1','2012-01-03 12:50:49','108929','2012-01-03 12:50:59','198963','21','','/usr/local/nagios/libexec/check_ping -H 192.168.1.106 -w 3000.0,80% -c 5000.0,100% -p 5','30','0','4.04159','0.102','1','PING WARNING -DUPLICATES FOUND! Packet loss = 0%, RTA = 2.86 ms','','rta=2.860000ms;3000.000000;5000.000000;0.000000pl=0%;80;100;0');";
    html.append("Data Inserted : "+ GetUpdate(InsertData) );
    return html 
}

        public int GetUpdate(String sql)
        {        
           int rs = dbOperation.DbupdateStatement(con,sql);      
            return rs;
        }

        public int DbupdateStatement(Connection con,String command)
        {
            int status =0;
            if (con != null)
            {
                try
                {
                Statement stmt = con.createStatement();
                String sql=command;
                //status = stmt.executeUpdate(command);
                return stmt.executeUpdate(sql);
            }
                catch(Exception ex)
                {

                }
            }
            return status;

        }

Первый метод возвращает HTML на JSP, чтобы напечатать возвращаемое значение «executeupdate» во время передачи запроса в Getupdateа затем метод DbUpdateStatement, чтобы выполнить запрос, в то время как при подключении, к которому я подключаюсь к базе данных, и полные записи для создания и обновления базы данных мой этот метод не вставляет значение ??

Надежды на ваши предложения ...

Заранее спасибо!

Ответы [ 5 ]

0 голосов
/ 05 января 2012
  1. catch(Exception ex){} распечатать стек исключений trace.by путем добавления

    ex.printStacktrace ();Вы можете получить сведения об исключении, а затем исправить.

2. Еще одна вещь

INSERT INTO  nagios.authors VALUES ('1','1','67','0','0','1','10','0','1','2012-01-03 12:50:49','108929','2012-01-03 12:50:59','198963','21','','/usr/local/nagios/libexec/check_ping -H 192.168.1.106 -w 3000.0,80% -c 5000.0,100% -p 5','30','0','4.04159','0.102','1','PING WARNING -DUPLICATES FOUND! Packet loss = 0%, RTA = 2.86 ms','','rta=2.860000ms;3000.000000;5000.000000;0.000000pl=0%;80;100;0');";

включает ли она все столбцы таблицы, проверьте.*

3. Пожалуйста, проверьте, успешно ли SQL-запрос вставляет данные в таблицу, выполняя инструкции в редакторе SQL.

0 голосов
/ 05 января 2012

Проверьте настройку автоматического принятия в базе данных MySQL. Или зафиксировать явно. con.commit

0 голосов
/ 05 января 2012

Вы должны выпустить ресурсы JDBC, когда они больше не нужны в вашем коде, и записать параметр sql в оператор.

String sql="INSERT INTO TableName (col1,col2,col3) values (?,?,?)";
PreparedStatement ps=null;
try{
 ps=con.prepareStatement(sql);
 ps.setString(1,"String_value for col1");
 ps.setInt(2,10); // set int value to col2 if it is int type
 ps.setString(3,"something");
 ps.executeUpdate();
}catch(Exception ex) {

}finally {
  if(ps!=null) ps.close();
  if(con!=null) con.close();
}
0 голосов
/ 05 января 2012

Просто выбрасываю мое предположение ... можете ли вы попытаться удалить или пропустить запятую в одном из значений, приведенных ниже ... может запятая нарушает ваш запрос ...

'/usr/local/nagios/libexec/check_ping -H 192.168.1.106 -w 3000.0,80% -c 5000.0,100% -p 5'
0 голосов
/ 05 января 2012

Попробуйте это

InsertData="INSERT INTO  authors VALUES ('1','1','67','0','0','1','10','0','1','2012-01-03 12:50:49','108929','2012-01-03 12:50:59','198963','21','','/usr/local/nagios/libexec/check_ping -H 192.168.1.106 -w 3000.0,80% -c 5000.0,100% -p 5','30','0','4.04159','0.102','1','PING WARNING -DUPLICATES FOUND! Packet loss = 0%, RTA = 2.86 ms','','rta=2.860000ms;3000.000000;5000.000000;0.000000pl=0%;80;100;0');";

Вам не нужно указывать имя схемы с именем таблицы в базе данных MySql. имя схемы записывается только в браузере запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...