不知道你为什么不使用org.gjt.mm.mysql.Driver,
如果你的哪个驱动可用,问题一定不是出现在数据库上,不知道能不能把你程序贴出来看看。
如果你的哪个驱动可用,问题一定不是出现在数据库上,不知道能不能把你程序贴出来看看。
解决方案 »
- struts1中的action代码在struts2中的写法(新手请教,望详解)
- 从事SSH的java开发程序员工作后最好往哪方面学习比较好
- 怎么成list集合中将迭代的数据取出来
- 怎么样用java调用已有的dll文件?
- 导航关闭和打开
- 公司需要开发一个100用户的OA系统,Java开发前台界面,后台用SQLServer2000还是Oracle9i好,性能上而言?解决马上给分!
- jdbc 连接远程mysql数据库url
- struts中的error问题
- ******tomcat环境下,html调用activex的问题!!!!!!
- 哪里有weblogic5.1的下载,先谢谢了
- windowxp上运行得好好的ejb程序,到2000出错了?
- J2EE VS .NET
2.如果连接成功的话那应该是你的程序的问题...把代码贴出来看看...
3.我用MYSQL的时候是可以用这些方法的...
<%@ page import = "java.sql.*" %><jsp:useBean id="basicDB" class="bbs.basicDBBean" scope="page" />
<html>
<head>
<title>
main
</title>
<link href="css/main" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#ffffff" leftmargin="0" topmargin="0" align=center valign=middle>
<br><div align="center" style="font-size:14pt;color:black">我的留言板</div><br>
<table width="760" border="0" align="center" cellpadding="2" cellspacing="2" class="n9pt">
<tr>
<td width="500" bgcolor="#cccccc">
<div align="center"><font color="#ffffff">标题</font></div>
</td>
<td width="130" bgcolor="#cccccc">
<div align="center"><font color="#ffffff">作者</font></div>
</td>
<td width="130" bgcolor="#cccccc">
<div align="center"><font color="#ffffff">发表时间</font></div>
</td>
</tr>
<%
String sql;
ResultSet rs;
//lyb表中字段为id(int),title(varchar),author(varchar),addtime(datetime)
sql = "select * from lyb order by addtime desc";
basicDB.DBConnect();
rs = basicDB.executeQuery(sql); while (rs.next())
{
out.print("<tr><td width=500 bgcolor=#eeeeee><a href=view.jsp?id=");
out.print(rs.getInt("id"));//换成rs.getInt(1)就行了
out.print(" target=bottom> ");
out.print(rs.getString("title"));//换成rs.getString(2)就行了
out.print("</a></td><td width=130 bgcolor=#eeeeee><div align=center>");
out.print(rs.getString("author"));//换成rs.getString(3)就行了
out.print("</div></td><td width=130 bgcolor=#eeeeee><div align=center>");
out.print(rs.getString("addtime"));//换成rs.getString(4)就行了
out.print("</div></td></tr>");
}
%>
</table>
</body>
</html><!--
另外,如果我要得到ResultSetMetaData对象的话将得到一个null型值
-->
换这个驱动看看
用org.gjt.mm.mysql.Drive驱动结果还是一样,仍然不能用字段名访问数据!!!
还会有其他原因吗????
或者把你的bean贴出来让大家看看
import java.sql.*;/**
* 一个简单而基本的数据库连接类
* 缺省使用JDBC-MYSQL桥接驱动程序
*缺省使用jdbc:mysql://localhost:3306/basiclyb
* @author zhou
* @version 0.1
* @see java.sql.Connection
* @see java.sql.ResultSet
*/public class basicDBBean {
//成员变量
private String DBLocation = "jdbc:mysql://localhost:3306/basiclyb?useUnicode=true&characterEncoding=8859_1";
//使用JDBC-MYSQL桥接驱动程序
private String DBDriver = "com.mysql.jdbc.Driver";
//查询结果的记录集
private ResultSet rs = null;
//数据库连接
private Connection conn = null; /**构造函数*/
public basicDBBean() {
} /**
*执行一个查询
* @param sql 需要执行的查询字符串
* @return 查询的结果集
* @see java.sql.ResultSet
* @see java.sql.Connection
*/
public ResultSet executeQuery(String sql){
if (conn == null){
DBConnect();
} if (conn == null){
rs = null;
}
else {
try {
Statement s = conn.createStatement();
rs = s.executeQuery(sql);
}
catch (SQLException e){ }
} return rs;
} /**
* 试着建立连接过程中的异常信息,如果一切正常,返回一个空字符串
* @see java.sql.Connection
*/
public String DBConnect(){
String strExc = "";
try {
Class.forName(DBDriver);
conn = DriverManager.getConnection(DBLocation,"root","");
}
catch (ClassNotFoundException e) {
strExc = e.toString();
}
catch (SQLException e) {
strExc = e.toString();
} return strExc;
} /**
* 设置一个可用的数据地址
* @param location 数据源地址
*/
public void setDBLocation(String location){
DBLocation = location;
} /**
* 设置一个JDBC驱动程序
* @param driver 一个JDBC驱动器
*/
public void setDBDriver(String driver){
DBDriver = driver;
} /**
* 设置一个已经可用的数据库连接
* @param conn 一个数据库连接对象
* @see java.sql.Connection
*/
public void setConn(Connection conn){
conn = conn;
} /**
* 获得当前的数据源地址
* @return 当前的数据源地址
*/
public String getDBLocation(){
return DBLocation;
} /**
* 获得当前的JDBC驱动器
* @return 当前的JDBC驱动器
*/
public String getDBDriver(){
return DBDriver;
} /**
* 获得当前的结果记录集
* @return 当前的结果记录集
* @see java.sql.ResultSet
*/
public ResultSet getRS(){
return rs;
} /**
*获得当前的数据库连接
* @return 当前的数据库连接
* @see java.sql.Connection
*/
public Connection getconn(){
return conn;
}
}
//我认为和BEAN没关系,因为我没用BEAN时也是一样!你们是不是都可以的?
我下载了一个使用后,好象还有这样的问题存在,就是不能通过getString(String fieldname)
进行访问数据,抛出的异常还是找不到fieldname。
有没有人把自己写的这样的代码贴出来让我看看?
你下载mysql驱动的时候应该还有一个readme文件。注意了,你最好仔细阅读这个文件。里面有连接数据库url的各种附加参数。如果你仅仅用:jdbc:mysql://localhost:3306/your_database来连接,就会出现你的问题。应该加参数encoding=gb2312&character=true(具体我也记的很清楚了^_^),也就是:jdbc:mysql://localhost:3306/your_database?encoding=gb2312&character=true(好像还要一个参数).
另外,假设你不加参数,你可以用getString(1),getString(2)...,等来获得记录的值,但是会乱码的。
ResultSetMetaData rsm=rs.getMetaData();