您的位置:首页 > 编程语言 > Java开发

java 访问数据库 java.sql.SQLException: Column not found的问题

2011-09-21 16:31 676 查看
用java写一个很简单的数据库访问程序,但是如果表跟字段中出现中文,会出现这样的错误:java.sql.SQLException: Column not found

解决方法之一是在连接是指定gb2312

Properties prop = new Properties();
prop.put("charSet", "gb2312");
prop.put("username", username);
prop.put("password", password);
connect=DriverManager.getConnection(url,prop);


完整的程序:

package my;
import java.sql.*;
import java.util.Properties;

import javax.swing.JOptionPane;
public class DataBase {
static Connection connect;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
if((connect=connectByJdbcOdbc("jdbc:odbc:AccessDB","",""))!=null){
JOptionPane.showMessageDialog(null, "连接数据库成功");
try{
readRecord();
connect.close();
connect=null;
}catch(SQLException e){
System.out.println("关闭数据时异常");
}
}else{
JOptionPane.showMessageDialog(null, "连接数据库失败");
}

}
static void readRecord(){
Statement staSql;
ResultSet rs;
//读数据库
try{
staSql=connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=staSql.executeQuery("SELECT * FROM 表1");
rs.first();
System.out.println("staSql OK");
System.out.print(rs.getString("学号")+"	");
System.out.println(rs.getString("姓名"));
}catch(Exception e){
System.out.println("read error");
System.out.println(e);
}
}

public static Connection connectByJdbcOdbc(String url,String username,String password){
Connection connect;
Properties prop = new Properties();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

prop.put("charSet", "gb2312");
prop.put("username", username);
prop.put("password", password);

}catch(Exception e){
e.printStackTrace();
return null;
}

try{
connect=DriverManager.getConnection(url,prop);
}catch(SQLException e){
e.printStackTrace();
return null;
}
return connect;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐