| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 855 人关注过本帖
标题:[求助]连数据库郁闷的
只看楼主 加入收藏
しΟν∈→鱈
Rank: 1
等 级:新手上路
威 望:2
帖 子:369
专家分:0
注 册:2006-10-25
收藏
 问题点数:0 回复次数:13 
[求助]连数据库郁闷的

JAVABEAN中的连接代码如下:

try {
Class.forName("org.gjt.mm.mysql.Driver");
String user = rb.getString("db.mysqluser");
String password = rb.getString("db.mysqlpassword");
String url = rb.getString("db.mysqlurl");
//解决中文字符的问题
//url += "?useUnicode=true&characterEncoding=gb2312";
Connection con = DriverManager.getConnection(url,user,password);
return con;

} catch(ClassNotFoundException cnfExc) {
out.println(cnfExc.getMessage());
cnfExc.printStackTrace();

} catch(SQLException sqlExc) {
out.println(sqlExc.getMessage());
sqlExc.printStackTrace();

} catch(Exception e) {
out.println(e.getMessage());
e.printStackTrace();
}
err.println("出异常啦,返回回值!"); //测试连接成功没的,下同。
return null;
}

在.class中测试没有问题,可以通过并能读出数据库的内容。



下面是在JSP页面中的代码:
//建立数据连接
try {
out.println("000");
Connection conn = DBConnection.getConnection();
out.println(conn);
out.println("123");
Statement stmt = conn.createStatement();
out.println("456");
String sqlCommand = "insert into users values'(" + ID
+ "', '" + password + "', '" + "', '" + sex + "')";
stmt.execute(sqlCommand);

} catch(NullPointerException e) {
out.println(e.getMessage());
e.printStackTrace();

}
catch(IOException ioExc) {
out.println(ioExc.getMessage());
ioExc.printStackTrace();

} catch(SQLException sqlExc) {
out.println(sqlExc.getMessage());
sqlExc.printStackTrace();
}
//ResultSet rs = stmt.executeQuery(sqlCommand);
红色部分是我硬加的,因为他一直报NullPointerException异常,实在不明白什么回事,程序这样运行的话会在页面打印出 000 NULL 123 NULL。还请那位来解释下(上面说了,在CLASS下测试没有问题,可以连接并读到数据)
搜索更多相关主题的帖子: 数据库 
2007-04-03 01:24
ILoveMK
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:487
专家分:0
注 册:2007-2-12
收藏
得分:0 
应该是这里有问题吧,不知道你写什么
DBConnection.getConnection();

天下归心
2007-04-03 01:41
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
收藏
得分:0 
本来不想回这个帖子的,楼主那天说的话我觉得很难接受。对于那个五角星的问题说我光说不练。我想那个代码很多人都可以写的出来,只要懂一点程序控制的人都可以写出来,我觉得楼主自己都没有动手写,只不过发帖子跟别人要代码,我觉得这种做法真的不可取,如果楼主把自己写的代码放上去,我想一定会有很多人帮你的。有的时候一些回帖可能并不能给你一些具体的代码,各种原因吧,时间,精力,等等。但是我觉得没有必要为了一句话,把坛子里的气愤搞的很不融洽,人家回帖,说明人家是热心的,就算帖子对你没有任何帮助。我觉得作为楼主的也要客套一下。起码是对别人劳动成果的尊重。更何况回帖子的应该没有恶意。今天你把代码发上来了,我手上也恰好有我以前写的一个demo,就把代码发给你参考下,还是那句话,不见得有帮助。
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://127.0.0.1:3306/my_db?user=root&password=root";
Connection cn = DriverManager.getConnection(url);
Statement st = cn.createStatement();
我测试过的没问题,把驱动什么的都放进去就行了

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-04-03 10:05
しΟν∈→鱈
Rank: 1
等 级:新手上路
威 望:2
帖 子:369
专家分:0
注 册:2006-10-25
收藏
得分:0 
。。。
上面的连数据库的东西我说我写好了,DBConnection.getConnection();就是我上面的那部分代码,我测试过了没问题的。但是在JSP中的连不进去。。

开开心心的过&玩每一天!!!!
2007-04-03 10:12
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
classpath有没有设好?

把你的那个DBConnection 帖出来

可惜不是你,陪我到最后
2007-04-03 10:41
ILoveMK
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:487
专家分:0
注 册:2007-2-12
收藏
得分:0 
3楼的愤青,顶了。。。

天下归心
2007-04-03 11:05
しΟν∈→鱈
Rank: 1
等 级:新手上路
威 望:2
帖 子:369
专家分:0
注 册:2006-10-25
收藏
得分:0 

[CODE]package com.simon.db;
import java.io.*;
import java.sql.*;
import java.util.*;
import java.text.SimpleDateFormat;
import static java.lang.System.out;
import static java.lang.System.err;
//import sun.jdbc.odbc.JdbcOdbcDriver; //连SQL的时候用到这个桥接驱动

public class DBConnection {

public static Connection con;

public DBConnection() {}

public static Connection getConnection() throws
IOException, SQLException {
// TODO Auto-generated constructor stub
ResourceBundle rb = ResourceBundle.getBundle("db");

try {
//String DriverName = rb.getString("db.mysqldriver");
//DriverName = com.MySQL.jdbc.Driver;
//Class.forName(DriverName);
Class.forName("org.gjt.mm.mysql.Driver");
String user = rb.getString("db.mysqluser");
String password = rb.getString("db.mysqlpassword");
String url = rb.getString("db.mysqlurl");
//解决中文字符的问题
//url += "?useUnicode=true&characterEncoding=gb2312";
con = DriverManager.getConnection(url,user,password);
return con;

} catch(ClassNotFoundException cnfExc) {
out.println(cnfExc.getMessage());
cnfExc.printStackTrace();

} catch(SQLException sqlExc) {
out.println(sqlExc.getMessage());
sqlExc.printStackTrace();
} catch(Exception e) {
out.println(e.getMessage());
e.printStackTrace();
}
err.println("出异常啦,返回回值!"); //测试连接成功没的,下同。
return null;
}

//下面是用数据源桥接驱动连接的SQL。
/*public static Connection getConnection() {

try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
DriverManager.registerDriver(new JdbcOdbcDriver());
Connection conn = DriverManager.getConnection("jdbc:odbc:JDBC");
return conn;
} catch(ClassNotFoundException cnfExc) {
out.println(cnfExc.getMessage());
cnfExc.printStackTrace();

} catch(SQLException sqlExc) {
out.println(sqlExc.getMessage());
sqlExc.printStackTrace();

} catch(Exception e) {
out.println(e.getMessage());
e.printStackTrace();
}
//err.println("123");
return null;
} */

//sql语句执行方法,暂时没发现有什么用(结构也有点问题),主要是测试时用的。
public static void execute(String SQLCommand) {
try {
Statement stmt = getConnection().createStatement();
ResultSet rs = stmt.executeQuery("select * from users");
while(rs.next()) {
out.print(rs.getString(1));
out.print(rs.getString(2));
out.print(rs.getString(3));
}
return;

} catch(IOException ioExc) {
out.println(ioExc.getMessage());
ioExc.printStackTrace();

} catch(SQLException sqlExc) {
out.println(sqlExc.getMessage());
sqlExc.printStackTrace();
}
err.println("出异常啦,返回回值!");
}

public void close() {
try {
this.close();
} catch(Exception e) {
out.println(e.getMessage());
e.printStackTrace();
}
}

//这个方法在UTIL中也有一个,应该是把它放到那里的。
public static String getTime() {
long timer = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss", Locale.CHINA);
sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));
return sdf.format(timer);
}
/**
* @param args
*/
public static void main(String[] args) throws Throwable{
// TODO Auto-generated method stub
out.println(getConnection());
//out.print(getTime());
execute("select * from users");
}
}[/CODE]



这是DBConnection类


开开心心的过&玩每一天!!!!
2007-04-03 11:26
ILoveMK
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:487
专家分:0
注 册:2007-2-12
收藏
得分:0 
Connection conn = DriverManager.getConnection("jdbc:odbc:JDBC");
这句缺少用户名和密码行吗??没用过jdbc-odbc连接数据库不太清楚你的写法行不行。。。。

天下归心
2007-04-03 12:29
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
收藏
得分:0 
我的那段代码也是直接写在jsp里的

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-04-03 12:44
しΟν∈→鱈
Rank: 1
等 级:新手上路
威 望:2
帖 子:369
专家分:0
注 册:2006-10-25
收藏
得分:0 
回来了,一同学生病了,打了120都,搞到现在家里来人了,我也回来了,快死了。。
我再说一下我的问题是 我的那个CLASS测试是可以的连上数据库的 但是在JSP页面中就不可以

开开心心的过&玩每一天!!!!
2007-04-03 22:22
快速回复:[求助]连数据库郁闷的
数据加载中...
 
   



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

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