部分代码:
String sqlStr="select * from "+tablename+" where loginName=? and password=?";
stmt=conn.prepareStatement(sqlStr);
stmt.setString(1,username);
stmt.setString(2,password);
rs=stmt.executeQuery();
loginName 和password 都为varchar
这到底是怎么回事啊??帮帮忙!!!
8 个解决方案
#1
你先把这条语句直接在数据库里执行一下,看看是怎样的。
#2
to use near 'form customer where loginName='1'' at line 1
form?这个怎么会出现?楼主仔细看一下那个地方写错了没,程序
里是from 呀,如果真报错form 那就是驱动问题了
form?这个怎么会出现?楼主仔细看一下那个地方写错了没,程序
里是from 呀,如果真报错form 那就是驱动问题了
#3
把这句打印出来看一下,然后到数据库里执行,看行不???
#4
我是写的from,我也感到很奇怪。
#5
同问!!!!
#6
String sqlStr="select * from "+tablename+" where loginName=? and password=?";
stmt=conn.prepareStatement(sqlStr);
stmt.setString(1,username);
stmt.setString(2,password);
rs=stmt.executeQuery();
请确认你的数据库里面也是loginName的字段
stmt=conn.prepareStatement(sqlStr);
stmt.setString(1,username);
stmt.setString(2,password);
rs=stmt.executeQuery();
请确认你的数据库里面也是loginName的字段
#7
SQL语句不符合语法
把语句打印出来,然后在MYSQL控制台里单独执行测试一下
把语句打印出来,然后在MYSQL控制台里单独执行测试一下
#8
我的问题跟你的一样 刚刚解决 是应为占位符不能和 加号同时使用
举个例子
"select * from address.`liver` where " + SelectChange + "='" + SelectText+ "' limit " + 1 +","+ 10; 这样是正确的
如果用占位符的话能是
"select * from address.`liver` where liver_name = ? limit ?, ?";
如果写成
"select * from address.`liver` where " + SelectChange + "='" + SelectText+ "' limit ?,?";就是错的
举个例子
"select * from address.`liver` where " + SelectChange + "='" + SelectText+ "' limit " + 1 +","+ 10; 这样是正确的
如果用占位符的话能是
"select * from address.`liver` where liver_name = ? limit ?, ?";
如果写成
"select * from address.`liver` where " + SelectChange + "='" + SelectText+ "' limit ?,?";就是错的
#1
你先把这条语句直接在数据库里执行一下,看看是怎样的。
#2
to use near 'form customer where loginName='1'' at line 1
form?这个怎么会出现?楼主仔细看一下那个地方写错了没,程序
里是from 呀,如果真报错form 那就是驱动问题了
form?这个怎么会出现?楼主仔细看一下那个地方写错了没,程序
里是from 呀,如果真报错form 那就是驱动问题了
#3
把这句打印出来看一下,然后到数据库里执行,看行不???
#4
我是写的from,我也感到很奇怪。
#5
同问!!!!
#6
String sqlStr="select * from "+tablename+" where loginName=? and password=?";
stmt=conn.prepareStatement(sqlStr);
stmt.setString(1,username);
stmt.setString(2,password);
rs=stmt.executeQuery();
请确认你的数据库里面也是loginName的字段
stmt=conn.prepareStatement(sqlStr);
stmt.setString(1,username);
stmt.setString(2,password);
rs=stmt.executeQuery();
请确认你的数据库里面也是loginName的字段
#7
SQL语句不符合语法
把语句打印出来,然后在MYSQL控制台里单独执行测试一下
把语句打印出来,然后在MYSQL控制台里单独执行测试一下
#8
我的问题跟你的一样 刚刚解决 是应为占位符不能和 加号同时使用
举个例子
"select * from address.`liver` where " + SelectChange + "='" + SelectText+ "' limit " + 1 +","+ 10; 这样是正确的
如果用占位符的话能是
"select * from address.`liver` where liver_name = ? limit ?, ?";
如果写成
"select * from address.`liver` where " + SelectChange + "='" + SelectText+ "' limit ?,?";就是错的
举个例子
"select * from address.`liver` where " + SelectChange + "='" + SelectText+ "' limit " + 1 +","+ 10; 这样是正确的
如果用占位符的话能是
"select * from address.`liver` where liver_name = ? limit ?, ?";
如果写成
"select * from address.`liver` where " + SelectChange + "='" + SelectText+ "' limit ?,?";就是错的