I’m having a problem using the java.text.MessageFormat object.
I’m trying to create SQL insert statements. The problem is, when I do something like this:
MessageFormat messageFormat = 'insert into {0} values ( '{1}', '{2}', '{3}', {4} )'; Object[] args = { str0, str1, str2, str3, str4 }; String result = messageFormat.format(args);
I get this for the value of result:
'insert into <str0> values ( {1}, {2}, {3}, <str4> )'
As you can see, the problem is that any of the target locations that are enclosed by single quotes do not get replaced by arguments. I have tried using double single quotes like this: ''{1}'' and escaped characters like this: \'{1}\' but it still gives the same result.
edit: I forgot to mention that I also tried '''{1}'''. The result is: 'insert into <str0> values ( '{1}', '{2}', '{3}', <str4> )'. It is keeping the original quotes around but still not inserting the values.
How can I resolve this issue? For the record, I am using JDK 6u7.
I just tried double quotes and it worked fine for me:
The result is:
Is this what you need?