2013-07-05 8 views
1

Я хочу удалить все строки в базе данных, содержащие URL-адрес, в который добавляется расширение .jpg!Не удалось выполнить запрос (DELETE) на SQL Server 2008 R2

Я использую

try{ 
java.sql.Statement mystat=connection.createStatement(); 
String delete_jpg="DELETE FROM mytable WHERE mycol LIKE '%.jpg%' "; 
mystat.executeUpdate(delete_jpg); 
}catch(Exception e){ 
    } 

Выполнение этого запроса с помощью Java JDBC не дает никаких ошибок на всех, но не удалять строки, как хорошо! Пожалуйста, кто-нибудь скажет мне, что я делаю неправильно, пожалуйста!

Пример URL-адреса являются:

images/affiliation-logo4.png HTTP/1.1 
images/661.jpg HTTP/1.1 
footerslider/images/blue-left-arrow.png HTTP/1.1 
footerslider/images/blue-right-arrow.png HTTP/1.1 
media/contentHeader/32.jpg HTTP/1.1  //I want to delete this type of rows 
index.php?option=com_content&task=view&id=543 HTTP/1.1 
images/favic.ico HTTP/1.1 
src/ HTTP/1.0 
uiit/faculty.php?dept_id=31 HTTP/1.1 
uims/faculty.php?dept_id=32 HTTP/1.1 
media/profile/dhS1t8X.jpg HTTP/1.1  //I want to delete this type of rows 
media/profile/SSbkpgG.jpg HTTP/1.1  //I want to delete this type of rows 
+1

Возможно ли откат транзакции? Покажите нам, как вы выполняете запрос. –

+0

Вы совершаете после удаления? – JHS

+1

Показать код Java – NINCOMPOOP

ответ

0

Как из ваших образцов URL, я вижу, что картина:

media/profile/dhS1t8X.jpg HTTP/1.1  //I want to delete this type of rows 

Дело в том, что вы делаете правильно, но шаблон s hould be like:

try{ 
java.sql.Statement mystat=connection.createStatement(); 
String delete_jpg="DELETE FROM mytable WHERE mycol LIKE '%.jpg %' "; //HERE YOU HAVE TO ADD A WHITE SPACE AFTER THE .jpg as you can also seen in your sample URL! 
mystat.executeUpdate(delete_jpg); 
}catch(Exception e){ 
} 

Сделайте это и обязательно помогите!

+1

Да, это работает как благодарность за шарм, и теперь это работает для меня для всей базы данных и других запросов также благодаря – user2496503

0

Вы можете попробовать эту модификацию к выписке:

String delete_jpg="DELETE FROM mytable WHERE mycol LIKE '%' + .jpg + '%' ";

+1

SEVERE: null com.microsoft.sqlserver.jdbc.SQLServerException: идентификатор с несколькими частями ".jpg" не может быть связан. \t на com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError (SQLServerException.java:216) \t на com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult (SQLServerStatement.java:1515) \t в com.microsoft.sqlserver .jdbc.SQLServerStatement.doExecuteStatement (SQLServerStatement.java:792) \t at com.microsoft.sqlserver.jdbc.SQLServerStatement $ StmtExecCmd.doExecute (SQLServerStatement.java:689) ............. ........... – user2496503

Смежные вопросы