首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

读取数据库的异常()

2012-02-11 
读取数据库的错误()写了一个很简单的bean读数据库,运行的时候总是报错:invalidcolumnname:prodimage.说是

读取数据库的错误()
写了一个很简单的bean读数据库,运行的时候总是报错:invalid   column   name:prodimage.说是没有这个字段,但是我在运行的时候设了断点watch,结果rs的collection里面是能看到这个字段的,而且调用这个bean的jsp显示也能显示部分正确的信息,究竟是为什么啊?而且有的时候读数据库里面的字段会出现getInt(),getString()等函数报错.

[解决办法]
不会这么怪异吧
[解决办法]
你什么数据库?

程序部分的代码帖上来看一下吧
[解决办法]
proimage blog字段?
[解决办法]
我的数据库是用的sql server 2000,prodimage字段定义为varchar(200),里面写入的都是图片的相对路径字符串.
代码如下:
连接数据库的bean文件Data.java:
package test.bean;

import java.sql.*;
import java.lang.*;
import java.io.*;
import java.util.*;

public class Data {
String strDbDriver= "com.microsoft.jdbc.sqlserver.SQLServerDriver ";
String url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test ";
String user= "sa ";
String password= "1 ";
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;

public database(){
try{
Class.forName(strDbDriver);
}
catch(ClassNotFoundException e){
System.err.println( "error!database(): "+e.getMessage());
}
}

public ResultSet executeQuery(String sql){
rs=null;
try{
conn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}
catch(SQLException e){
System.err.println( "error!Query: "+e.getMessage());
}
return rs;
}

public void close(){
try{
if(rs!=null){
rs.close();
}
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
catch(SQLException e){
System.err.println( "database close error! ");
}
}
}

调用这个bean的类display.java:
package test.bean;

import java.sql.*;

import test.bean.*;

public class Display {
ResultSet rs=null;
Data DBS=new Data();

public Display(){}
public ResultSet getData(){
rs=DBS.executeQuery( "select * from tbTest ");
return rs;
}
}

显示效果的jsp文件List.jsp:
<%@ page contentType= "text/html; charset=UTF-8 " %>
<%@ page import= "test.bean.Display " %>
<%@ page import= "java.sql.* " %>
<html>
<head> </head>
<body>
<table>
<%
Display Disp=new Display();
ResultSet rs =Disp.getData();
while(rs.next())
{
out.println( " <TR> <TD> <img src= ' "+rs1.getString( "prodPic ") " '> <br> " </TD> </TR> <br> ");
}
%>
</table>
</body>
</html>
[解决办法]
rs1.getString( "prodPic ")你的那张tbTest表中一定要有prodpic这个字段.
[解决办法]
确定表中有prodPic的字段?
[解决办法]
有的时候出错 有的时候不出错么

那可能是jdbc连接数据库有点问题 比如说网络问题 导致有时连接不上数据库
------解决方案--------------------


太怪了, 楼主确定表中pro..字段?
[解决办法]
那你不要用字段名,用字段的序号取下数据看rs1.getString(n....)
[解决办法]

把你的表和代码都发上来看看

热点排行