| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1090 人关注过本帖
标题:在连接数据库时出现了问题
只看楼主 加入收藏
小毛驴儿
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-3-29
收藏
 问题点数:0 回复次数:16 
在连接数据库时出现了问题

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
my.servlet.Reg$MyOdbc.executeQuery(Reg.java:109)
my.servlet.Reg$MyOdbc.regUpdate(Reg.java:77)
my.servlet.Reg.doPost(Reg.java:214)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.

搜索更多相关主题的帖子: 数据库 
2006-08-01 06:30
可可℃乐
Rank: 2
等 级:新手上路
威 望:3
帖 子:1054
专家分:0
注 册:2006-5-9
收藏
得分:0 
最好把代码也帖出来!不然不好判断错误

[url=http://www.]网页设计教程[/url]
2006-08-01 09:35
小毛驴儿
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-3-29
收藏
得分:0 
昨天的问题已经解决了
是因为驱动管理器的原因
conn=DriverManager.getConnection(url,"sa","");
2006-08-02 06:31
小毛驴儿
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-3-29
收藏
得分:0 

修改了一些代码
连接数据库成功了
上面提示:连接成功
找到驱动
[Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'USER_TABLE'无效
我按照网上朋友的代码修改了一下,还是这样的
为什么会出现"[Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'USER_TABLE'无效"

2006-08-02 06:34
小毛驴儿
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-3-29
收藏
得分:0 
MyOdbc.java的原码
package my.data;
import java.io.IOException;
import java.sql.*;
import java.util.Date;
public class MyOdbc{
private String driver="sun.jdbc.odbc.JdbcOdbcDriver";
//private String driver="oracle.jdbc.driver.OracleDriver";
//private String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
//private String driver="com.mysql.jdbc.Driver";
private String url="jdbc:odbc:njhyj";
//private String url="jdbc:oracle:thin:@localhost:1521:sid";
//private String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=njhyj";
//private String url="jdbc:mysql://localhost:3360/njhyj";
//private String UserName="sa";
//private String Password="";
private Connection conn;
private Statement stmt;
private ResultSet rs;
private int i;
private boolean boo;
public MyOdbc(){
conn=null;
stmt=null;
rs=null;
}
public Connection getConn(){
try{
Class.forName(driver);
System.out.println ("找到驱动");
//DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
}catch(Exception e){
System.out.println (e.getMessage());
System.out.println ("找不到驱动");
}
try{
conn=DriverManager.getConnection(url,"sa","");
System.out.println ("连接成功");
}catch(SQLException e){
System.out.println (e.getMessage());
System.out.println ("连接数据错误");
}
return conn;
}
//判断数据库是否有要注册的用户
public boolean regUpdate(String UserName){
this.getConn();
String sql="select UserName from user_table where UserName='"+UserName+"'";
try{
System.out.println (sql);
rs=this.executeQuery(sql);

if(rs.next()){
boo=false;
}else{
boo=true;
}
}catch(SQLException se){
System.out.println (se.getMessage());
System.out.println ("操作表出错MyOdbc 58");
}
return boo;

}
public int executeUpdate(String sql){
try{
System.out.println ("SQL:"+sql);
conn=this.getConn();
stmt=conn.createStatement();
i=stmt.executeUpdate(sql);
}catch(SQLException e){
System.out.println (e.getMessage());
System.out.println ("数据插入出错");
}finally{
this.closeConn();
}
return i;
}
public ResultSet executeQuery(String sql){
try{
System.out.println ("SQL:"+sql);
conn=this.getConn();
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}catch(SQLException e){
System.out.println (e.getMessage());
System.out.println ("数据查询出错");
}
return rs;
}
//登录专用
public boolean login(String UserName,String Password){
String sql="select * from user_table where UserName='"+UserName+"'and PassWord='"+Password+"'";
try{
rs=this.executeQuery(sql);
if(rs.next()){
boo=true;
}else{
boo=false;
}
this.closeConn();
}catch(SQLException se){
System.out.println (se.getMessage());
System.out.println ("操作表出错MyOdbc 58");
}
return boo;
}
public boolean loginEditor(String EditorName,String Password){
String sql="select * from EditorInfo_table where EditorName='"+EditorName+"' and Password='"+Password+"'";
try{
rs=this.executeQuery(sql);
if(rs.next()){
boo=true;
}else{
boo=false;
}
this.closeConn();
}catch(SQLException se){
System.out.println (se.getMessage());
System.out.println ("操作表出错MyOdbc 155");
}
return boo;
}
public void closeConn(){
try{
if(rs!=null){
rs.close();
System.out.println ("关闭rs");
}
if(stmt!=null){
stmt.close();
System.out.println ("关闭stmt");
}
if(conn!=null){
conn.close();
System.out.println ("关闭conn");
}
}catch(SQLException e){
System.out.println (e.getMessage());
}

}
public String getTime() {
String datestr = "" ;
try {
java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-M-d HH:ss") ;
datestr = df.format(new java.util.Date()) ;
}
catch (Exception ex) {
System.out.println (ex.getMessage());
}
return datestr ;
}
}
2006-08-02 06:35
小毛驴儿
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-3-29
收藏
得分:0 
注册页面调用的regServlet的Reg.java的原码
package my.servlet;
import my.data.MyOdbc;
import my.data.MyParameter;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Reg extends HttpServlet{
public void doPost(HttpServletRequest request,
HttpServletResponse reponse)
throws IOException{
HttpSession session=request.getSession(true);
MyParameter cn=new MyParameter(request);
String sql,UserName,Password,createTime;
UserName=cn.getParameter("UserName");
Password=cn.getParameter("Password");
MyOdbc myodbc=new MyOdbc();
createTime=myodbc.getTime();
System.out.println (UserName);
System.out.println (Password);

sql="insert into user_table(UserName,Password)values('"+UserName+"','"+Password+"',1)";
if(myodbc.regUpdate(UserName)){
myodbc.executeUpdate(sql);
session.setAttribute("UserName",UserName);
session.removeValue("Type");
session.setAttribute("Type","UserType");
System.out.println ((String)session.getAttribute("Type"));
System.out.println ("注册成功");
reponse.sendRedirect("用户页面");
}else{
reponse.sendRedirect("inc/err.jsp?id=1");

}
}

}
2006-08-02 06:38
小毛驴儿
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-3-29
收藏
得分:0 

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
my.data.MyOdbc.regUpdate(MyOdbc.java:54)
my.servlet.Reg.doPost(Reg.java:41)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.


--------------------------------------------------------------------------------

2006-08-02 06:41
小毛驴儿
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-3-29
收藏
得分:0 
能帮忙看一下吗
2006-08-02 19:57
zehua
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-7-24
收藏
得分:0 
Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'USER_TABLE'无效
我按照网上朋友的代码修改了一下,还是这样的
为什么会出现"[Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'USER_TABLE'无效"

是因为你的表名,你的数据库里面没有 USER_TABLE 这张表
2006-08-02 22:18
小毛驴儿
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-3-29
收藏
得分:0 

在上面的代码中的user_table全是小写的啊,怎么会出现大写UESR_TABLE呢,是什么原因啊,我的数据库的用户是odb,所有的权限都选择了啊,可以进行操作的.
那请问上面的代码有什么问题吗

2006-08-03 06:16
快速回复:在连接数据库时出现了问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018520 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved