Topic: java+Access出现只能读不能写的问题,望知道的朋友给与帮助! |
Print this page |
1.java+Access出现只能读不能写的问题,望知道的朋友给与帮助! | Copy to clipboard |
Posted by: wanghang110119 Posted on: 2006-08-17 09:58 我用java连接Access数据库,连接成功后,发现只能检索,但是不能插入和修改 检索代码: import java.sql.*; public class r2 { public static void main(String args[]) throws SQLException,ClassNotFoundException { try { String url="jdbc:odbc:hh"; String user=""; String password=""; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); Connection c=DriverManager.getConnection(url,user,password); Statement s=c.createStatement(); ResultSet rs=s.executeQuery("select name from b1 where id=2"); while(rs.next()) { String s1=rs.getString("name"); System.out.println(s1); } s.close(); } catch(ClassNotFoundException cnfe) { System.out.println("cuowu"); } catch(SQLException cnfe) { System.out.println("youcuowu"); } catch(Exception e) { System.out.println("haishicuowu"); } } } 插入代码: import java.sql.*; public class rr{ public static void main (String args[]) { System.out.println("操作数据库"); try { String strurl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=db1.mdb";//不用设置数据源,直接调用数据库 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //驱动程序 Connection conn = DriverManager.getConnection(strurl); //建立连接对象 Statement stmt1 = conn.createStatement(); System.out.println("数据库添加记录操作:"); String sql; sql="insert into b1 (id,name) values (5,6)"; stmt1.executeUpdate(sql); Statement stmt = conn.createStatement(); System.out.println("数据库添加记录成功!"+sql); } catch(ClassNotFoundException cnfe) { System.out.println("cuowu"); } catch(SQLException cnfe) { System.out.println("youcuowu"); } catch(Exception e) { System.out.println("haishicuowu"); } } } 两个程序运行之后都没有报错,但是插入之后在表中没有显示我的结果 希望有经验的朋友给与帮助,万分感谢! |
2.Re:java+Access出现只能读不能写的问题,望知道的朋友给与帮助! [Re: wanghang110119] | Copy to clipboard |
Posted by: why Posted on: 2006-08-17 10:21 Have you tried the same connection method as in "select"? Have you tried applying directly in your Access database insert into b1 (id,name) values (5,6) ? int numRowsAffected = stmt1.executeUpdate(sql); to check the number of rows inserted. |
3.Re:java+Access出现只能读不能写的问题,望知道的朋友给与帮助! [Re: wanghang110119] | Copy to clipboard |
Posted by: wanghang110119 Posted on: 2006-08-18 15:06 谢谢元老同志,我今天做了几次测试,在别的电脑上运行正常 所以我推断应该是我的数据库的权限问题。 |
4.Re:java+Access出现只能读不能写的问题,望知道的朋友给与帮助! [Re: wanghang110119] | Copy to clipboard |
Posted by: dreamtobetrue Posted on: 2006-09-24 16:58 我的程序也出现了搂主这样的情况 import java.sql.*; public class Access { public static void main(String[] args) { try { String dburl= "jdbc:odbc:MS Access Database"; String dbuser=""; String dbpassword=""; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn1 = DriverManager.getConnection(dburl,dbuser,dbpassword); Statement stmt1 = conn1.createStatement(); stmt1.executeUpdate("insert into favs (f_title,f_url,f_username,f_time) values ('我的相册','www.tom.com ','挪威的森林','2006-2-19 12:45:19')"); /*ResultSet rs=stmt1.executeQuery("select * from favs"); while(rs.next()) { String title=rs.getString("f_title"); System.out.println(title); }*/ } catch (ClassNotFoundException cnfe) { cnfe.printStackTrace(); } catch(SQLException cnfe) { cnfe.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } } } 不会抱错!没有抛出异常 编译运行成功后,在数据库favs表中找不到我要插入的那行数据 但是可以读数据,望碰到过这种问题的朋友指点一下! |
5.Re:java+Access出现只能读不能写的问题,望知道的朋友给与帮助! [Re: wanghang110119] | Copy to clipboard |
Posted by: dreamtobetrue Posted on: 2006-09-24 17:00 我测试过好长时间,换过电脑用过,还是这种情况 我用的是office2003中的Access数据库,xp系统 希望大家帮助一下,感谢! |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |