Vaadin访问sql容器的内容

时间:2016-07-17 11:55:15

标签: java parsing vaadin

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 ...这是如何工作的?

1 个答案:

答案 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()`.

    }'
    )
    ));
  }