Hi,
i got a exeption but i can't explain why. When I remove
"if(transaction.commit())" I got no problem. Have anybody a idea to solve the
problem ?
user.h
#include <iostream>
#include <Wt/Dbo/Dbo>
#include <Wt/WDate>
#ifndef TUXAUTH_H_
#define TUXAUTH_H_
class User {
private:
Wt::WString Nickname;
Wt::WString Firstname;
Wt::WString Lastname;
Wt::WString Email;
Wt::WDate Birthdate;
Wt::WString Password;
public:
Wt::Dbo::Session *Session;
const char *Table;
void setNickname(const char *nickname){
Nickname=Wt::WString(nickname);
}
void setFirstname(const char *firstname){
Firstname=Wt::WString(firstname);
}
void setLastname(const char *lastname){
Lastname=Wt::WString(lastname);
}
void setEmail(const char *email){
Email=Wt::WString(email);
}
void setBirthdate(int date,int month,int day){
Birthdate=Wt::WDate(date,month,day);
}
void setPassword(const char *password){
Password=Wt::WString(password);
}
bool CreateUser();
};
#endif
user.cpp
#include <Wt/Dbo/Dbo>
#include <Wt/Dbo/Query>
#include <string>
#include <iostream>
#include "tuxamodel.h"
#include "user.h"
bool User::CreateUser(){
Wt::Dbo::Transaction transaction(*Session);
Session->mapClass<Users>(Table);
Users *users = new Users();
users->Nickname =Nickname;
users->Firstname = Firstname;
users->Lastname = Lastname;
users->Email = Email;
users->Birthdate = Birthdate;
users->Password = Password;
Wt::Dbo::ptr<Users> userPtr=Session->add(users);
if(transaction.commit())
return true;
else
return false;
}
test.cpp
#include <Wt/WString>
#include <Wt/Dbo/backend/Postgres>
#include "../src/user.h"
Wt::Dbo::backend::Postgres db_con("host=127.0.0.1 user=tuxist password=test
dbname=tuxist");
int main(){
User *testuser = new User();
Wt::Dbo::Session session;
session.setConnection(db_con);
testuser->Session=&session;
testuser->Table="users";
testuser->setNickname("TestUser");
testuser->setFirstname("John");
testuser->setLastname("Dohn");
testuser->setEmail("[email protected]");
testuser->setBirthdate(1909,05,13);
testuser->setPassword("Testpw");
testuser->CreateUser();
return 0;
}
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest