2012-03-20 35 views
0

如何存放存储多种类型的字符

"CREATE COLUMN VIEW "_USE_BID"."rev26/FREESTYLE" TYPE JOIN WITH PARAMETERS (joinIndex = "REV26"."SIMPLECOMPANY", joinIndexType = 0, viewAttribute = ('ID', "REV26"."SIMPLECOMPANY", "ID", '', 'default', 'attribute', '', 'rev26/FREESTYLE$ID'), freestyleSearchAttribute = 'ID:0.0', viewAttribute = ('NAME', "REV26"."SIMPLECOMPANY", "NAME", '', 'default', 'attribute', '', 'rev26/FREESTYLE$NAME'), freestyleSearchAttribute = 'NAME:0.0' 
" 

在Java中的单一串一串的?这是我想要执行的SQL查询。

+0

hmm .. $ NAME,$ ID? – 2012-03-20 11:52:03

+0

我如何表示一个。 – user1280790 2012-03-20 12:10:14

+0

如果您的问题已被解答,或者不再有效,请勾选以选择最合适的答案,以便每个人都知道问题已得到解决。谢谢。 – wattostudios 2012-05-14 13:26:26

回答

1

手动逃脱你的 “通过\”

字符串的queryString = “”;把你的声明,并逃避你“以 \”

+1

'不需要以\ – 2012-03-20 11:59:36

+0

作为前缀加以确定它是http://www.java-tips.org/java-se-tips/java.lang/character-escape-codes-in-java.html – 2012-03-20 12:00:26

+1

@EvilP - 不在字符串中。当你想将它用作字符时,你必须将其转义:''''' - 但是这样可以:'''“' – 2012-03-20 12:03:42

0
"CREATE COLUMN VIEW \"_USE_BID\".\"rev26/FREESTYLE\" TYPE JOIN WITH PARAMETERS (joinIndex = \"REV26\".\"SIMPLECOMPANY\", joinIndexType = 0, viewAttribute = ('ID', \"REV26\".\"SIMPLECOMPANY\", \"ID\", '', 'default', 'attribute', '', 'rev26/FREESTYLE$ID'), freestyleSearchAttribute = 'ID:0.0', viewAttribute = ('NAME', \"REV26\".\"SIMPLECOMPANY\", \"NAME\", '', 'default', 'attribute', '', 'rev26/FREESTYLE$NAME'), freestyleSearchAttribute = 'NAME:0.0' 

0

如果您需要做的唯一事情是逃避所有的双引号。换句话说,所有的”字应改为\” ......

String sqlStatement = "CREATE COLUMN VIEW \"_USE_BID\".\"rev26/FREESTYLE\" TYPE JOIN WITH PARAMETERS (joinIndex = \"REV26\".\"SIMPLECOMPANY\", joinIndexType = 0, viewAttribute = ('ID', \"REV26\".\"SIMPLECOMPANY\", \"ID\", '', 'default', 'attribute', '', 'rev26/FREESTYLE$ID'), freestyleSearchAttribute = 'ID:0.0', viewAttribute = ('NAME', \"REV26\".\"SIMPLECOMPANY\", \"NAME\", '', 'default', 'attribute', '', 'rev26/FREESTYLE$NAME'), freestyleSearchAttribute = 'NAME:0.0'"; 

不过,也有在发言几件事情,可能会鼓励你它分割成更小的字符串。例如,ID和名称列都BASICA同样的语句,所以你可以简单地使用一个模板字符串,并用列名称替换空格(在这里是NAME的ID)。例如...

String columnTemplate = "viewAttribute = ('<COLUMN>', \"REV26\".\"SIMPLECOMPANY\", \"<COLUMN>\", '', 'default', 'attribute', '', 'rev26/FREESTYLE$<COLUMN>'), freestyleSearchAttribute = '<COLUMN>:0.0'"; 

String idColumn = columnTemplate.replaceAll("<COLUMN>","ID"); 
String nameColumn = columnTemplate.replaceAll("<COLUMN>","NAME"); 

String joinIndex = "joinIndex = \"REV26\".\"SIMPLECOMPANY\", joinIndexType = 0, " + idColumn + ", " + nameColumn; 

String sqlStatement = "CREATE COLUMN VIEW \"_USE_BID\".\"rev26/FREESTYLE\" TYPE JOIN WITH PARAMETERS (" + joinIndex + ")"; 

这将帮助你构建SQL语句更快/通过删除重复,也更容易帮助您使其不太复杂的整体,以查找声明的错误。