2013-10-07 49 views
0

如何將Java中的句子強制爲字符串?強制將含有引號的句子作爲字符串 - Java

String addBedrooms = "INSERT INTO Property.Bedrooms("3")"; 

臥室排是一個varchar其ID喜歡插入3作爲一個字符串,但我不斷收到SQL錯誤

請告訴我正確的說法?由於

+0

您需要的轉義序列\\ – JNL

+1

在'3'周圍使用單引號。 –

回答

4

使用PreparedStatement和唐忘記了正確的SQL(您的INSERT聲明中缺少VALUES

String addBedrooms = "INSERT INTO Property.Bedrooms VALUES (?)"; 
PreparedStatement ps = connection.prepareStatement(addBedrooms); 
ps.setString(1, "3"); 
int rowCount = ps.executeUpdate(); 

查看this tutorial瞭解詳情。

1

逃生:

String addBedrooms = "INSERT INTO Property.Bedrooms(\\\"3\\\")"; 

一個用於javac的\,接下來爲您DBMS本身。第三個是引號。

或者使用:

String addBedrooms = "INSERT INTO Property.Bedrooms('3')"; 
+0

我想你的意思是String addBedrooms =「INSERT INTO Property.Bedrooms(\\\」3 \\\「)」;第一個不會編譯 – cmd

+0

@cmd是的,你是對的./ – hexafraction

0

的SQL語句,即使作爲一個Java字符串,必須用單引號,不是雙引號的SQL字符串:

String addBedrooms = "INSERT INTO Property.Bedrooms('3')"; 
0

您可以使用單引號或轉義雙引號。

單引號

String addBedrooms = "INSERT INTO Property.Bedrooms('3')"; 

雙引號:

String addBedrooms = "INSERT INTO Property.Bedrooms(\\\"3\\\")"; 

注:\\創建一個轉義字符的DBMS和\"逃脫Java的雙引號

相關問題