php column not found,java.sql.SQLException: Column 'cloumn name' not found.

Hi,

My system configuration:

Mandrake 9.0 + Tomcat 4.1.24 + MySQL 4.0.12. + Apache

[問題]

我有一隻Servlet app. 如果 Tomcat + MySQL + APache + IBM JDK 1.3 or SUN JDK 1.4.1_02在一開機時就起動. 我在http://localhost:8080/servlet/myApp 是可以看到Servlet run 起來.  可是如果我console 底下killall java

把Tomcat 殺掉, 在從console底下啟動 Tomcat.  我的Servlet App 就無法 access database.  會出現 Column 'Heading' not found.  這裡的Heading是某一table內的column name, Heading.

我只好reboot. 一切就OK.

所以我又寫一隻Java Applet to access MySQL:

import java.applet.Applet;

import java.sql.*;

public class SqlTest extends Applet{

String url;

String query;

public void init(){

url = "jdbc:mysql://localhost/BJAVA";

query = "SELECT lastname, firstname FROM authors";

try{

Class.forName( "org.gjt.mm.mysql.Driver" );

}catch( Exception ex ){

}finally{

System.out.println( " Pass MySql connection .." );

}

}

public void start(){

try{

Connection conn = DriverManager.getConnection( url, "javaUser", "javaPass" );

Statement stm = conn.createStatement();

ResultSet rs = stm.executeQuery( query );

while( rs.next() ){

String name = rs.getString( "lastname"  );

System.out.println( name );

System.out.println( rs.getString( "firstname") );

}

stm.close();

conn.close();

}catch( Exception ex ){

System.out.println( " error at Start() .." );

ex.printStackTrace();

}finally{

System.out.println( " End Query..." );

}

}

}

結果輸出:

Pass MySQL connction...

error at start()...

java.sql.SQLException: Column 'lastname' not found

at com.mysql.jdbc.ResultSet.findColumn( ResultSet.java:2278 )

at com.mysql.jdbc.ResultSet.getString(ResultSet.java:1815)

at SqlTest.start( SqlTest.java:47)

at sun.applet.AppletPanel.run(AppletPanel.java:371)

at java.lang.Thread.run( Thread.java:536)

End Query...

我用phpMyadmin 去看有authors table ,  lastname column, firstame column,  lastname and firstname column 下都個有record.

如果我將以上applet的

String name = rs.getString( "lastname" ) 改成 String name = rs.getString( 1 );

System.out.println( rs.getString( "firstname" ) ) 改成

System.out.println( rs.getString( 2 ) );

就沒有java.sql.SQLException 輸出.  可是輸出也只有空白二行.  我access local MySQL or remote MySQL結果都是一樣.

為何這隻簡單Applet無法query MySQL table???

謝謝.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值