1、首先打开iBATIS XML配置文件。
2、当x=1查询的时候列名是a, 如果第一次查询x=1,那么第二次查询x=2就会报这个错,因为ibatis保留列名为第一次查询时候的列名a,ibatis可以设置一个参数remapResults="true",每次查询都重新更新列名。
3、当出现如上的动态改变查询列,或者其他方式动态改变的时候,设置remapResults="true"这个属性,因此不至于出现“列名无效”的错误。
4、还有一种情况是,在类里面,编号动态SQL语句。
5、这样,也需要把XML增加remapResults="true"这个属性,就解决了“java.sql.SQLException: 列名无效”的问题了。
列名无效说明当前表中没有”此字段“(要输入字段)所对应的字段名称。可以通过:select * from tablename where 1=2获取到表结构列,之后逐列对比参数,看看要输入的参数列名称是否在tablename表中已经存在。
visualstudio运行时出现列名无效。你在SQLSEVER数据库里有没有创建“用户编号”或者是数据库有没有连上或连接错误。(在数据库连接属性里有显示)在你的cs程序文件里数据库查询语句你看看都写对了吗(所有的关键字应该大写)看看要查询的表名,列名都对吗(这里很容易有拼写错误),顺序有没有颠倒只要明白了每个语句的意思这个问题就好解决了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)