当前位置: 代码迷 >> Java相关 >> [求助]关于连数据库[已解决]
  详细解决方案

[求助]关于连数据库[已解决]

热度:89   发布时间:2007-01-24 14:50:00.0

提示拥护不存在是那些现在放上来的代码里注掉的那些 而且要把上面那去 println()去掉


----------------解决方案--------------------------------------------------------

用户名 char(15)
密码 char(15)
权限 char(10)


你这个表建得有问题


你的用户名如果不是15长的话,SQL会帮你补上空格,所以你永远也不会相等,所以ResultSet返回的是空的,当然是无效的游标了

你觉得"hades"会和"hades "相等吗?


数据库里面存的是"hades ",而你输入的是"hades",这当然就取不出来了

你应该改为

用户名 varchar(15)
密码 varchar(15)
权限 varchar(10)


----------------解决方案--------------------------------------------------------

那它为什么
String query = "SELECT * FROM 用户表 WHERE 用户名='"+tf_id.getText()+"'";
ResultSet rs = st.executeQuery(query);

这两句能得到结果呢?


----------------解决方案--------------------------------------------------------
改了表结构还是说密码错误  哎
----------------解决方案--------------------------------------------------------

改了表结构只能保证以后你插入时候,会以实际长度来插,
你以前插的还是有空格的
不信,你可以进数据库看看

还有,你那两句语句才执行,和有没有结果查询到是一点关系都没有的,只要你SQL语法没有错,那两句是肯定会执行的


----------------解决方案--------------------------------------------------------
我新加了一条记录但是还是错的  要不我换成ACCESS试下先  看看有没有问题
----------------解决方案--------------------------------------------------------
你用的是什么数据库?


----------------解决方案--------------------------------------------------------
SQL server 2000
----------------解决方案--------------------------------------------------------

换了之后问题是一样的 真是见鬼了


----------------解决方案--------------------------------------------------------
那是绝对不可能的,你肯定是哪里弄错了

我也是用MSSQL的
----------------解决方案--------------------------------------------------------
  相关解决方案