新手提问,一个SQL相关的小问题,困扰了一下午了...

问题描述

出错代码锁定在Listlist=dao.QueryObject("fromLoginlwherel.username='"+user+"'andl.password='"+pass+"'");是一个hibernate下的用户登录模块,得到用户输入的userpassword,对比数据库,有的话就存入list报错是com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'.loginlogin0_wherelogin0_.username=''andlogin0_.password='''atline1SQL语法错误,HQL和SQL这里有什么不同么

解决方案

解决方案二:
select*from表名whereusername='"+user+"'andpassword='"+pwd+"'"暂时没有发现错误在哪里。
解决方案三:
引用楼主sinval的回复:

出错代码锁定在Listlist=dao.QueryObject("fromLoginlwherel.username='"+user+"'andl.password='"+pass+"'");是一个hibernate下的用户登录模块,得到用户输入的userpassword,对比数据库,有的话就存入list报错是com.mysql.jdbc.exce……

确认下username,password是类的属性名还是表的列名
解决方案四:
你看下hibernate中的语法
解决方案五:
得看Login表中的定义个格式
解决方案六:
.loginlogin0_wherelogin0_.username=''andlogin0_.password='''atline1楼主你的这个是不是username和password没有传递过来值,因为这里显示的是username=''andpassword=''。
解决方案七:
Listlist=dao.QueryObject("fromLoginlwherel.username='"+user+"'andl.password='"+pass+"'");中username和password应该是Login类实例的属性名,并且要有对应的set方法,一定不是表的列名。看到楼主的这种写法,就一直有个疑问,想请教一下QueryObject到底是方法还是类?
解决方案八:
hibernate中一直是这样写的,Queryquery=session.createQuery("fromLoginlwherel.username=:usernameandl.password=:password");query.setString("username",user);query.setString("password",pass);Listresult=query.list();这样设置参数就不要担心标点符号的问题了。希望对楼主有所帮助,谢谢!
解决方案九:
我是这样写的参考下吧。用的SSH框架packagebit.jeffy.dao;importjava.util.Iterator;importjava.util.List;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;importorg.apache.commons.logging.Log;importorg.apache.commons.logging.LogFactory;importbit.jeffy.orm.User;publicclassLogUserDaoextendsHibernateDaoSupport{privateStringhql="fromUseruwhereu.account_no=?andu.password=?";//log对象是log4j提供的日志对象,如果在进行数据库操作的过程中出现任何问题,都会通过Log对象记录下来privatestaticfinalLoglog=LogFactory.getLog(LogUserDao.class);protectedvoidinitDao(){}publicbooleanIsUserValid(Stringuserid,Stringpassword){String[]userlist=newString[2];userlist[0]=userid;userlist[1]=password;Listret=null;try{//调用getHibernateTemplate函数获取HibernateTemplate对象,然后该对象的find方法到持久化层查找指定的//用户名和密码ret=this.getHibernateTemplate().find(hql,userlist);}catch(Exceptione){log.error(e.getMessage());//如果有异常,则把异常消息记录保存到日志中returnfalse;}if(ret.size()>0)//如果返回的记录大于0,说明找到了returntrue;else//小于0则没找到returnfalse;}publicUsergetUser(Stringuserid,Stringpassword){String[]userlist=newString[2];userlist[0]=userid;userlist[1]=password;Iteratorit=null;Listret=null;try{//调用getHibernateTemplate函数获取HibernateTemplate对象,然后该对象的find方法到持久化层查找指定的//用户名和密码ret=this.getHibernateTemplate().find(hql,userlist);it=ret.iterator();return(User)it.next();}catch(Exceptione){log.error(e.getMessage());//如果有异常,则把异常消息记录保存到日志中returnnull;}}}
解决方案十:
你把user和password的字段顺序换过看看!

时间: 2024-12-30 09:26:51

新手提问,一个SQL相关的小问题,困扰了一下午了...的相关文章

sql-数据库新手提问:SQL查询语句

问题描述 数据库新手提问:SQL查询语句 有3张表:学生表(学号,姓名,性别,年龄);课程表(课程号,课程名,学期):成绩表(学号,课程号,分数). 现在根据学号和学期查询某个同学的成绩信息:例如学号为001,学期是1的. 解决方案 select 学生表.姓名 课程表.课程 成绩表.分数 from 学生表,课程表, 成绩表 where 学生表.学号 = 成绩表.学号 and 课程表.课程号 = 成绩表.课程号 and 学生表.学号 = 001 and 课程表.学期 =1

oracle-新手请教一个sql查询问题,在线等,谢谢

问题描述 新手请教一个sql查询问题,在线等,谢谢 一张激活表TL_CSU_ACTIVATE_LOG: 一张用户表TV_CSU_USER 现在要查询2014-12to2015-12每月注册的不同类型(T,B,M,D)用户数,如下图: sql 应该怎么写 解决方案 参考Oracle行列转换 因为你的类型是固定的,所以直接查询,如果你的类型不固定,可以参考上面的链接. SELECT TT.Month ,SUM(CASE WHEN TT.TYPE = 'B' THEN Count ELSE 0 END

sql-新手,请教一个SQL语句

问题描述 新手,请教一个SQL语句 如图,我想取出字段(包括字段分票如第一个图)td=0的记录,但是光第一条SQL只能实现父值为0或者父值和子值同时为0的效果,我想如果子值为1了父值为0的情况也不用显示出来的效果,求大神指点 解决方案 select * from (select tdh from cmhctd where td=0) a,cmhctd where INSTR(cmhctd.tdh,a.tdh)>0 解决方案二: select a.tdh,a.cm,a.hc,a.th from c

新手提问,使用sql建立一个table

问题描述 新手提问,使用sql建立一个table 设置主键是一个自增1序列的编号,然后开始录入信息,如果录入错误,系统也会把序列自增1怎么处理?比如第一条是编号1,内容1,第二条是编号2,内容2.第三条我在输入内容是违反约束,再重新输入,结果就会出现编号4,内容3怎么办? 解决方案 没办法 自增列只会一直增加. 解决方案二: 取消主键:在列属性中,标识规范(是标识)选否: 打开表,把错误的序号改正确了: 设置主键:在列属性中,标识规范(是标识)选是: 解决方案三: 公司是一般不会把序列这种用来当

winform-C#新手提问:刚完成一个学籍管理系统

问题描述 C#新手提问:刚完成一个学籍管理系统 如题,使用winform写的一个小系统,结合数据库完成了基本的增删改查功能,在想如何将这个系统的功能实现的更复杂一些锻炼一下自己,比方说将面向对象里面的接口.多态等思想放进去,但苦于没啥思路,希望各位能给点意见,小生在此谢过了.多谢多谢了 解决方案 你定义一个Dao层后,会在里面有一些增删改查的方法,这些方法你可以放在接口中,然后让Dao层的实现类来实现接口里的方法就可以了;在Service层里调用 Dao层实现类就可以了.而Service层也和D

php-PHP新手问一个小问题,有时间前辈帮帮忙!小弟在此感激不尽!

问题描述 PHP新手问一个小问题,有时间前辈帮帮忙!小弟在此感激不尽! php写的一个简单提交数据代码没提示错误 但是数据库添加不进去 index.php代码如下: <?php require_once 'conn.php'; $id = $_POST[userid]; $name = $_POST[username]; $content = $_POST[content]; $sql = "insert into all(userid,name,content)values('$id',

SQL数据库上面显示一个绿色向上的小箭头是怎么回事?也无法访问数据库了,有什么办法吗?

问题描述 SQL数据库上面显示一个绿色向上的小箭头是怎么回事?也无法访问数据库了,有什么办法吗? 解决方案 sql 有一个browser服务 这个是1434端口的 解决方案二: 你那里是sqlserver客户端吗 你看看sqlservernetmanager里的网络配置1433开了吗 解决方案三: 数据库服务是否启动,端口是否在侦听,防火墙是否拦截请求

[新手上路]为什么同样一个sql文件 导入mysql毫无问题但是导入sql2005各种报语法错误

问题描述 [新手上路]为什么同样一个sql文件 导入mysql毫无问题但是导入sql2005各种报语法错误 DROP TABLE IF EXISTS messages; CREATE TABLE messages (id int(11) NOT NULL AUTO_INCREMENT,saver varchar(255) DEFAULT NULL,savetime varchar(255) DEFAULT NULL,content varchar(255) DEFAULT NULL,recont

新手提问,关于自己写的一个银行类

问题描述 自己学过C,现在转学JAVA,对于面向对象和JAVA的编程方式还不是很了解,下面是一个关于银行的小程序,不知道哪里错了,望高人指点感觉是类的实例化和排布有问题用CBC.BankAccounts[n-1]....之类的调用就不好使...谢谢高人~~~~importjava.io.*;classBank{StringBankName;//银行名称intBankNumber;//银行编号Account[]BankAccounts=newAccount[100];//银行账户数组Bank(St