2013-06-23 6 views
0
String l="UPDATE counselor SET firstName="qwe" WHERE id=1"; 

Может ли кто-нибудь сказать мне, что случилось с вышеприведенным заявлением, как q sql statement. Netbeans отображается как «ожидаемый». Я не могу понять, почему это неверно, по крайней мере, как строка. Код выглядит следующим образом.error "; expected", sql statement

String l="UPDATE counselor SET firstName="qwe" WHERE id=1"; 
Statement m=conn.createStatement(); 
ResultSet v=m.executeQuery(l); 
+0

Это неверно, потому что ваша строка содержит больше двойных кавычек, а Java не знает, что они предназначены для части значения, а не для конца строки. Как указывает Дарижан, вам нужны одинарные кавычки для строк в SQL тоже, но это не проблема Java. – Rup

ответ

0
String l="UPDATE counselor SET firstName=\"qwe\" WHERE id=1"; 

Если вы хотите поставить кавычки в кавычках необходимо использовать управляющую последовательность \», на внутренние кавычки. Чтобы напечатать фразу. Например

She said "Hello!" to me. 

можно было бы написать

System.out.println("She said \"Hello!\" to me."); 
+1

оба предложения работали (') & (\ "), спасибо .. –

+0

Downvoter, пожалуйста, исправьте меня :( – stinepike

+1

Я не спустил вас вниз, но я предлагаю не использовать эту приманку MySQL.« -характер поддерживается всеми распространенными базы данных, чтобы избежать строк, но использование «-character для escape-строк» ​​- это quirk MySQL. –

3

В SQL, вы должны бежать строки с '. Так,

String l="UPDATE counselor SET firstName='qwe' WHERE id=1"; 
+0

«В SQL вы должны * избегать строк с' '' "- не верно. –

+0

@kAROLYHorvath лучше? – darijan

+0

Нет, вы не изменили значения. –