Re[5]: mysql говорит Unknown column 'testlogin' in 'where cl
От: Никто  
Дата: 12.08.10 18:11
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, Аноним, Вы писали:


А>>>Здравствуйте, MozgC, Вы писали:


MC>>>>Видимо вы одинарные ковычки не добавляете в запросе вокруг строки 'testlogin'.


А>>>Понимаете в чем дело, я на java пишу, и если в метод буду передавать 'testlogin' вместо "testlogin" то буду получать ошибку : too many characters in character literal! Видимо что-то другое!


А>>а запрос так и дожен быть — "from User where Login = 'testLogin'", без "select *" ?

А>>Проверял ли ты свой запрос на базе данных? Для начала проверяй что ты отправляешь на сервер и что получишь в ответ.


А>Да именно так это hql язык запросов, так и выглядит запрос.

А>Я проверил все ок с базой!
А>вот такой метод работает :
А>public List<UserDTO> GetUsers(){
А> Session session = HibernateUtil.getSessionFactory().getCurrentSession();
А> session.beginTransaction();
А> List<User> users = new ArrayList<User>(session.createQuery("from User").list());
А> session.getTransaction().commit();
А> List<UserDTO> u = new ArrayList<UserDTO>(users.size());
А> for(User us: users){
А> u.add(createUserDTO(us));
А> }
А> return u;
А> }
А>а вот такой нет

А>public UserDTO GetUser(String login) {

А> Session session = HibernateUtil.getSessionFactory().getCurrentSession();
А> session.beginTransaction();

А> User user = (User)( session.createQuery("from User where Login ="+login).uniqueResult());

А> session.getTransaction().commit();
А> return createUserDTO(user);
А> }

Прошлое сообщение было мое.
Я имел ввиду сформируй сначала запрос в переменной и посмотри что получится.
Типа — string query = "from User where Login = " + login;
и подставь туда где создаешь user'a, а заодно и посмотришь что query содержит,
вполне возможно что еще нужно это положить в какие-нибудь кавычки.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.