1.java读取access数据库里数据类型为”文本”的字段内容无法做为字串比较.

1.java读取access数据库里数据类型为”文本”的字段内容无法做为字串比较.,第1张

java查询数据后返回的数据集的指针是指向第一条记录之前,所以

name = rsgetString("name"); 并不能获取字符串"zhangfeng",必须在该语句之前加上rsnext();将指针移到第一条记录。

ResultSet rs = StmtexecuteQuery("SELECT FROM 表1");

rsnext();

name = rsgetString("name");

你的驱动url错了,改成url="jdbc:odbc:driver={Microsoft Access Driver (mdb)};DBQ="+databaseName;就行了,其中databaseName这个变量是你的access数据库的绝对路径所在

<%@ page contentType="text/html; charset=gb2312" language="java"

import="javasql"%>

<meta >

你看看控制台里报什么错误,打断点进行测试看看是你的数据问题还是配置或代码问题,创建个testcase测试类。。测试。不要用test测试,给你个例子java 连接 Access 数据库 步骤: 1打开 ACCESS 创建一个 数据库 选择路径 E:数据库名称 Access1mdb 2在该数据库内创建一个表 emp 插入一条数据 3打开控制面版--控制工具--数据源(ODBJ) 分别在 用户DSN 和 系统DSN 内添加 一个用户名称 msn 添加步骤: - 点击添加 选择 Driver do Microsoft Access (mdb) - 点 完成 d出对话框 在数据库源框内 输入 msn - 数据库项 选择 地址 E:Access1mdb - 确定 (两个步骤一样) ---------OK------------ / private String url = "jdbc:odbc:msn";// 打开数据库源 private String str = "sunjdbcodbcJdbcOdbcDriver"; private Connection conn; private Statement sta; private ResultSet res; public DAO() { try { ClassforName(str); conn = DriverManagergetConnection(url); sta = conncreateStatement(); Systemoutprintln("数据库连接成功"); } catch (ClassNotFoundException e) { Systemoutprintln("缺少架包支持"); eprintStackTrace(); } catch (SQLException e) { Systemoutprintln("连接错误 检查用户名密码 或 url 以及数据库是否存在"); eprintStackTrace(); } } public void close() { try { if (res != null) { resclose(); } if (sta != null) { staclose(); } if (conn != null) { connclose(); } } catch (SQLException e) { Systemoutprintln("sql不能执行"); eprintStackTrace(); } } public ResultSet querry(String sql) { try { res = staexecuteQuery(sql); } catch (SQLException e) { Systemoutprintln("sql不能执行"); Systemoutprintln(sql); eprintStackTrace(); } return res; } public int update(String sql) { int flag = -1; try { flag = staexecuteUpdate(sql); } catch (SQLException e) { Systemoutprintln("以下sql不能执行"); Systemoutprintln(sql); eprintStackTrace(); } return flag; } private Connection getConn() { return conn; } public static void main(String[] args) { DAO d = new DAO(); String sql = "select from emp as t "; ResultSet res = dquerry(sql); try { while (resnext()) { Systemoutprintln(resgetString(1)); } } catch (SQLException e) { // TODO Auto-generated catch block eprintStackTrace(); } / try{ String strURL ="jdbc:odbc:msn";myds在ODBC中建的一个用户DSN ClassforName("sunjdbcodbcJdbcOdbcDriver"); Connection connAcce=DriverManagergetConnection(strURL); Statement stmt=connAccecreateStatement(); ResultSet rs=stmtexecuteQuery("SELECT FROM emp"); while(rsnext()){ Systemoutprintln(rsgetString(2)); } stmtclose(); connAcceclose(); } catch(Exception ex){ exprintStackTrace(); } } / }}

byte[] bts=null;

String other = null;

bts = rsgetBytes(i); //读取other字段

if(bts != null)

{

other = new String(bts,"gbk");

}

Access数据库必须先一beyet取出来然后进行转码

这个问题我今天解决了

但是我还有个问题,当表名为中文时,查询会出问题,还有列名为中文时取出来的列名也是乱码。帅哥你知道怎么解决这问题不

1 先建立一个access文件a1mdb,并放在D:/下;

2 在数据库文件a1mdb中建立一个表Table1;

3 为Table1添加一列,并插入至少一条记录;

4 一个完整的类,直接拿去运行就可以。

import javasql;

public class ConnectAccess {

public static void main(String args[]) throws Exception {

ConnectAccess ca=new ConnectAccess();

caConnectAccessFile();

caConnectAccessDataSource();

}

public void ConnectAccessFile() throws Exception

{

ClassforName("sunjdbcodbcJdbcOdbcDriver");

/

直接连接access文件。

/

String dbur1 = "jdbc:odbc:driver={Microsoft Access Driver (mdb)};DBQ=d://a1mdb";

Connection conn = DriverManagergetConnection(dbur1, "username", "password");

Statement stmt = conncreateStatement();

ResultSet rs = stmtexecuteQuery("select from Table1");

while (rsnext()) {

Systemoutprintln(rsgetString(1));

}

rsclose();

stmtclose();

connclose();

}

public void ConnectAccessDataSource()throws Exception {

ClassforName("sunjdbcodbcJdbcOdbcDriver");

String dbur1 = "jdbc:odbc:dataS1";// 此为ODBC连接方式

Connection conn = DriverManagergetConnection(dbur1, "username", "password");

Statement stmt = conncreateStatement();

ResultSet rs = stmtexecuteQuery("select from Table1");

while (rsnext()) {

Systemoutprintln(rsgetString(1));

}

rsclose();

stmtclose();

connclose();

}

}

曾经看到过一种最简单的连接access数据库的方法,不需要配置数据源,也不需要安装驱动======================================================================

import javasql;

public class ToAccess {

public static void main(String args[]) {

try {

String url = \"jdbc:odbc:driver={Microsoft Access Driver (mdb)};DBQ=D:\\\\bookshopmdb\";

ClassforName(\"sunjdbcodbcJdbcOdbcDriver\");

Connection conn = DriverManagergetConnection(url);

Statement stmt = conncreateStatement();

ResultSet rs = stmtexecuteQuery(\"select from books\");

while (rsnext()) {

Systemoutprintln(\"The book\'s name is:\" + rsgetString(\"book\"));

Systemoutprintln(\"The author is: \" + rsgetString(\"author\"));

}

rsclose();

stmtclose();

connclose();

} catch(Exception e) {

Systemoutprintln(egetMessage());

}

}

}

以上就是关于1.java读取access数据库里数据类型为”文本”的字段内容无法做为字串比较.全部的内容,包括:1.java读取access数据库里数据类型为”文本”的字段内容无法做为字串比较.、java访问access数据库异常 java.sql.SQLException: No data found、java中怎样连接ACCESS数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9570846.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存