社区
Java EE
帖子详情
java访问mysql数据库的问题
zhwb36
2003-10-20 10:51:39
我用JAVA连接MYSQL数据库,驱动程序用的是COM.MYSQL.JDBC.DRIVER,
数据库连接和执行查询一切都正常,就是得不到MetaData,ResultSet的
getString(String filedname)也不能用,提示说是找不到相应的fieldname,
这到底是什么原因,是不是Mysql数据库不支持这么操作?
...全文
88
13
打赏
收藏
java访问mysql数据库的问题
我用JAVA连接MYSQL数据库,驱动程序用的是COM.MYSQL.JDBC.DRIVER, 数据库连接和执行查询一切都正常,就是得不到MetaData,ResultSet的 getString(String filedname)也不能用,提示说是找不到相应的fieldname, 这到底是什么原因,是不是Mysql数据库不支持这么操作?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ambest
2003-10-25
打赏
举报
回复
那就可能是你程序的问题了。
naxin
2003-10-25
打赏
举报
回复
ResultSet rs=databean.Query(sql);
ResultSetMetaData rsm=rs.getMetaData();
wsfx
2003-10-25
打赏
举报
回复
补充:个人认为mysql的驱动中COM.MYSQL.JDBC.DRIVER是做得最好的,关键是你要会用.
wsfx
2003-10-25
打赏
举报
回复
我也曾经碰到过你一样的问题。我猜你的问题就出现在注册数据库url上。
你下载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)...,等来获得记录的值,但是会乱码的。
zhwb36
2003-10-24
打赏
举报
回复
org.gjt.mm.mysql.Driver是在哪下载的?
我下载了一个使用后,好象还有这样的问题存在,就是不能通过getString(String fieldname)
进行访问数据,抛出的异常还是找不到fieldname。
有没有人把自己写的这样的代码贴出来让我看看?
ambest
2003-10-24
打赏
举报
回复
驱动程序有问题,用org.gjt.mm.mysql.Driver就应该没问题了的。
zhwb36
2003-10-23
打赏
举报
回复
package bbs;
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时也是一样!你们是不是都可以的?
X路人甲X
2003-10-21
打赏
举报
回复
可能是你的bean有问题,楼主可以先写段简单的代码测试一下你那个BEAN是否可用
或者把你的bean贴出来让大家看看
zhwb36
2003-10-21
打赏
举报
回复
用org.gjt.mm.mysql.Drive驱动结果还是一样,仍然不能用字段名访问数据!!!
还会有其他原因吗????
maobing
2003-10-21
打赏
举报
回复
org.gjt.mm.mysql.Drive
换这个驱动看看
zhwb36
2003-10-21
打赏
举报
回复
<!-- jsp程序如下 -->
<%@ page contentType="text/html; charset=gb2312" %>
<%@ 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型值
-->
ahuisky
2003-10-21
打赏
举报
回复
1.你的数据库可以连接吗???
2.如果连接成功的话那应该是你的程序的问题...把代码贴出来看看...
3.我用MYSQL的时候是可以用这些方法的...
X路人甲X
2003-10-20
打赏
举报
回复
不知道你为什么不使用org.gjt.mm.mysql.Driver,
如果你的哪个驱动可用,问题一定不是出现在数据库上,不知道能不能把你程序贴出来看看。
mysql
数据库
驱动包文件(
mysql
-connector-
java
-5.1.7-bin)
新版的
mysql
的驱动
mysql
-connector-
java
-5.1.7-bin,用于
java
访问
mysql
数据库
,经测试运行稳定。
java
访问
MySQL
数据库
java
访问
MySQL
数据库
一、
java
连接
MySQL
数据库
1、安装
mysql
connector/j驱动 添加jdbc驱动:
mysql
-connection-
java
-5.1.10-bin.jar 2、连接
MySQL
数据库
在
java
.sql包中存在DriverManager类、...
java
操作
mysql
数据库
java
操作
mysql
数据库
学习到
数据库
操作这一章,遇到了很多
问题
,只能说无论什么时候,用什么工具来操作
数据库
,都不是一件简单的事情。 简单记录一下
数据库
连接 先看代码界面 要连接
数据库
,首先需要导入
mysql
依赖...
Java
连接
MySQL
数据库
Java
连接
MySQL
数据库
Java
连接
mysql
数据库
JDBC连接,SQL注入以及如何解决SQL注入
问题
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章