Sql подготовил заявление не выполняется - PullRequest
0 голосов
/ 28 марта 2012

Я использую следующий код для обновления моей таблицы mysql, в которой Move50 и Move200 являются переменными символами.

String sql = "update toplosers set Moving50 = ?, where Symbol = ?";  
PreparedStatement stmt = conn.prepareStatement(sql); 
for(int i1=0;i1<i;i1++)
 {   

       stmt.setString(1, moving50[i1]); 
       stmt.setString(2,symbol[i1]);


    stmt.addBatch(); 
} 
stmt.executeBatch();  
}

У меня "есть ошибка в вашем синтаксисе SQL; проверьте правильность синтаксиса в руководстве, соответствующем версии вашего сервера MySQL, рядом с" где Symbol = 'mysymbol' 'в строке 1 В чем проблема

Ответы [ 3 ]

2 голосов
/ 28 марта 2012

У вас неожиданная запятая сразу после первого параметра.

1 голос
/ 28 марта 2012

Нет необходимости добавлять «запятую» для предложения where. Теперь проверь это.

String sql = "update toplosers set Moving50 = ? where Symbol = ?";  
PreparedStatement stmt = conn.prepareStatement(sql); 
for(int i1=0;i1<i;i1++)
 {   

       stmt.setString(1, moving50[i1]); 
       stmt.setString(2,symbol[i1]);


    stmt.addBatch(); 
} 
stmt.executeBatch();  
}

см. Пример примера здесь

1 голос
/ 28 марта 2012

Избегайте запятой перед предложением 'where'.

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