Hey Jan,

I don't clearly understand what are you want.
All I can see that you are trying to call Wt::WString::operator[](int).

Probably, you want to get values of each Post by identifier ?

2010/11/29 Jan Köster <[email protected]>

> why can't I access a collection like a vector ?
>
> blog.h
> /*
>   Copyright 2010 Jan Koester
>
>   Licensed under the Apache License, Version 2.0 (the "License");
>   you may not use this file except in compliance with the License.
>   You may obtain a copy of the License at
>
>       http://www.apache.org/licenses/LICENSE-2.0
>
>   Unless required by applicable law or agreed to in writing, software
>   distributed under the License is distributed on an "AS IS" BASIS,
>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>   See the License for the specific language governing permissions and
>   limitations under the License.
> */
> #ifndef VIEWPOSTS_H_
> #define VIEWPOSTS_H_
>
> #include <Wt/Dbo/Dbo>
> #include <Wt/Dbo/Query>
> #include <Wt/Dbo/WtSqlTraits>
> #include <Wt/Dbo/Types>
>
> class Posts : public  Wt::Dbo::Dbo<Posts>
> {
>  private:
>    Wt::Dbo::Session Session;
>  public:
>    void setSession(Wt::Dbo::Session *session){
>      Session = *session;
>      Session.mapClass<Posts>("blog");
>    };
>
>    void setCategory(int *category){
>      Category =*category;
>    };
>
>    void setQuery();
>
>    int getCounts();
>
>    int getId(){
>      return Id;
>    }
>       /*Problem here*/
>    Wt::WString getTitle(int id){
>      return Title[id];
>    }
>
>    Wt::WString getAuthor(int id){
>      return Author[id];
>    }
>
>    Wt::WString getCreated(int id){
>      return Created.toString("dd.MM.yyyy")[id];
>    }
>    Wt::WString getContent(int id){
>      return Content[id];
>    }
>    /* what could be wrong ?*/
>    typedef Wt::Dbo::collection<Wt::Dbo::ptr<Posts>> ViewPostings;
>    Wt::Dbo::ptr<Posts> entry;
>    int Id,Category;
>    Wt::WDate Created;
>    Wt::WString Title;
>    Wt::WString Author;
>    Wt::WString Content;
>
>    template<class Action>
>    void persist(Action& a)
>    {
>       Wt::Dbo::field(a, Id, "id");
>       Wt::Dbo::field(a, Category, "category");
>       Wt::Dbo::field(a, Title, "title");
>       Wt::Dbo::field(a, Author, "author");
>       Wt::Dbo::field(a, Created, "created");
>       Wt::Dbo::field(a, Content, "content");
>    }
> };
> #endif
>
> blog.cpp
> /*
>   Copyright 2010 Jan Koester
>
>   Licensed under the Apache License, Version 2.0 (the "License");
>   you may not use this file except in compliance with the License.
>   You may obtain a copy of the License at
>
>       http://www.apache.org/licenses/LICENSE-2.0
>
>   Unless required by applicable law or agreed to in writing, software
>   distributed under the License is distributed on an "AS IS" BASIS,
>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>   See the License for the specific language governing permissions and
>   limitations under the License.
> */
> #include <iostream>
> #include <string>
> #include <vector>
>
> #include "viewposts.h"
>
> void Posts::setQuery()
> {
>  try {
>    Session.createTables();
>  }catch (...) { }
>  Wt::Dbo::Transaction transaction(Session);
>  ViewPostings viewpostings;
>  if(Category>=0){
>    viewpostings = Session.find<Posts>();
>  }else{
>    viewpostings = Session.find<Posts>().where("category =
> ?").bind(Category);
>  }
> /*
>  for (ViewPostings::const_iterator i = viewpostings.begin(); i !=
> viewpostings.end(); ++i){
>       (*i)->Title;
>       (*i)->Author;
>       (*i)->Created.toString("dd.MM.yyyy");
>       (*i)->Content;
>    }*/
>  transaction.commit();
> }
>
>
> int Posts::getCounts()
> {
>  try {
>    Session.createTables();
>  }catch (...) { }
>  Wt::Dbo::Transaction transaction(Session);
>  ViewPostings viewpostings;
>  if(Category>=0){
>    viewpostings = Session.find<Posts>();
>  }else{
>    viewpostings = Session.find<Posts>().where("category =
> ?").bind(Category);
>  }
>  transaction.commit();
>  return viewpostings.size();
> }
>
>
> ------------------------------------------------------------------------------
> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
> Tap into the largest installed PC base & get more eyes on your game by
> optimizing for Intel(R) Graphics Technology. Get started today with the
> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
> http://p.sf.net/sfu/intelisp-dev2dev
> _______________________________________________
> witty-interest mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/witty-interest
>



-- 
// Dmitriy.
------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest

Reply via email to