EDITED!
我使用Vaadin,SQLContainer和Freeformquery从mysql数据库中检索数据。现在我想在一个字符串中获取所有描述(稍后每个字符串将打印/添加到文本文件中)。
....
String text ="";
FreeformQuery subcatExtractionQuery = new FreeformQuery("select Description from customers", connectionPool);
SQLConateiner s = new SQLContainer(subcatExtractionQuery);
Collection<?> c = s.getContainerPropertyIds();
for(Object o : c){
Property<?> p = s.getContainerProperty(o, "Description");
text+=(String)p.getValue();
}
System.out.println(text);
我得到错误:java.lang.NullPointerException 问题行是文本+ = ...如果删除它,则不会出现错误。但查询返回数据!
这些描述是字符串。我需要在单个令牌列表中包含每个字符串的所有单词(我已经有一个方法来创建文件的令牌列表。) (不要问这是否有意义,这只是一个例子)。
如何访问我的sql容器的字符串?直到现在我只使用表的容器als数据源,并且没有访问单个项目/字符串。 我需要一个for循环来获取每个String ...这是如何工作的?
答案 0 :(得分:0)
它的getItemIds是getContainerPropertyIds的。所以这句话
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('field1',EmailType::class, array('label'=>'Form Field 1'))
->add('submit',SubmitType::class,array('label'=>'Submit Form'))
->add('get_away_from_form',SubmitType::class,array(
'label'=>'Get away from form',
'attr'=>array(
'onclick'=>'{
//IF THE USER CLICK THE NOT_SUBMIT BUTTON THE REQUIRED FIELD ARE DISABLED BEFORE THE SUBMIT HAPPENS
// Here is the part where are done (see GITHUB code for details):
////`event.preventDefault()`,
//// turn off the `required` on each `<input>`
//// and then do an `event.target.submit()`.
}'
)
));
}