第一篇:jdbc连ACCESS数据库找不到文件的问题[小编推荐]
jdbc连ACCESS数据库找不到文件的问题.txt大悲无泪,大悟无言,大笑无声。我们手里的金钱是保持自由的一种工具。女人在约会前,一定先去美容院;男人约会前,一定先去银行。主
题: jdbc连ACCESS数据库找不到文件的问题? 作
者: haichengruo(地瓜)等
级: 信 誉 值: 100 所属社区: Java J2SE / 基础类 问题点数: 20 回复次数: 12 发表时间: 2005-09-26 15:11:53
源代码如下: package db;
import java.sql.*;
public class sqlbean { String sDBDriver = “sun.jdbc.odbc.JdbcOdbcDriver”;
// String DBConnStr=“jdbc:odbc:logincrm”;String DBuser = “user”;
String DBpwd = “";
String DBConnStr = ”jdbc:odbc:driver={Microsoft(*.mdb)};DBQ=jsp.mdb“;
private Connection conn = null;
private Statement stmt = null;
ResultSet rs = null;
public sqlbean(){ try { Class.forName(sDBDriver);} catch(java.lang.ClassNotFoundException e){ System.err.println(”sqlbean();“ + e.getMessage());}
}
Access Driver public ResultSet executeQuery(String sql){ rs = null;try { conn = DriverManager.getConnection(DBConnStr, DBuser, DBpwd);stmt = conn.createStatement();rs = stmt.executeQuery(sql);} catch(java.sql.SQLException ex){ System.out.println(”sqlbean.executeQuery:“ + ex.getMessage());} return rs;
}
public void executeUpdate(String sql){ stmt = null;rs = null;try { conn = DriverManager.getConnection(DBConnStr);stmt = conn.createStatement();stmt.executeUpdate(sql);stmt.close();conn.close();
} catch(java.sql.SQLException ex){ System.out.println(”sqlbean.executeUpdata:“ + ex.getMessage());}
}
public void closeStmt(){ try { stmt.close();} catch(java.sql.SQLException e){ e.printStackTrace();}
}
public void closeConn(){ try { conn.close();} catch(java.sql.SQLException e){ e.printStackTrace();}
}
public void printStr(){ System.out.println(”this is printStr()in javabean“);} }
执行到: conn = DriverManager.getConnection(DBConnStr, DBuser, DBpwd);时出错,提示:[Microsoft][ODBC Microsoft Access Driver] 找不到文件 '(未知的)'。
开发环境:windows2000pro+eclipse+jdk1.50
请哪位大侠出手相助!!
回复人: ycybom()()信誉:100 2005-09-26 15:19:00 得分: 0
数据库要放在同目录下,或者指定绝对路径噢;)
Top 回复人: haichengruo(地瓜)()信誉:100 2005-09-26 15:44:00 得分: 0
谢谢楼上,我是把数据库放在同一目录的 Top 回复人: xdop(鸿飞处)()信誉:100 2005-09-26 15:48:00 得分: 0
你所说的就是jsp取绝对路径问题
application.getRealPath(”.“)可以取得当前文件夹的绝对物理路径 再加上 你的jsp文件名即可
Top 回复人: xdop(鸿飞处)()信誉:100 2005-09-26 15:51:00 得分: 0
不是jsp的当前文件夹
应该是整个war应用的当前文件夹 Top 回复人: llin998(浓茶水)()信誉:99 2005-09-26 16:06:00 得分: 0
我是这样的程序,可以参考参考,很好用的!连接数据库文件CltDBConn.java
import java.io.*;import java.util.*;import java.sql.*;public class CltDBConn { String strDB;String strUsr;String strPasswd;public String strDBType;int DBType;Connection conn = null;Properties prop;
private String CONF;
public CltDBConn(String dbConf){
//从配置文件中读取配置信息 strDB =dbConf;strUsr = ” “;strPasswd = ” “;}
public Connection getConn(){ try { DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());System.out.println(strDB);conn = DriverManager.getConnection(strDB, strUsr.trim(), strPasswd.trim());conn.setAutoCommit(false);return conn;} catch(SQLException e){ System.out.println(”数据库连结正常!“);return null;} } }
调用连接语句:
声明
private CltDBConn srcDB;
//用于创建本地数据库连结 private Connection srcConn;//用于保持本地数据库连结的对象 调用语句
srcDB = new CltDBConn(”jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};DBQ=.数据19.mdb“);srcConn=srcDB.getConn();
Top 回复人: haichengruo(地瓜)()信誉:100 2005-09-26 16:19:00 得分: 0
救命啊,还是不行,谁能贴一段确实能用的程序吗?楼上的不能马上用。
Top 回复人: lifeng800(j2ee学习中)()信誉:100 2005-09-26 16:21:00 得分: 0
up
Top 回复人: haichengruo(地瓜)()信誉:100 2005-09-27 09:02:00 得分: 0
没人知道吗?
Top 回复人: ycybom()()信誉:100 2005-09-28 12:01:00 得分: 0
贴一段,绝对能用的: public DBService(){
super();
// TODO Auto-generated constructor stub
try {
Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver“);
conn = DriverManager.getConnection(”jdbc:odbc:Driver={MicroSoft Access Driver(*.mdb)};DBQ=C:/PRODUCT.mdb");//注意,指定绝对路径名
} catch(ClassNotFoundException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(SQLException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Top 回复人: fly__dragon(低飞)()信誉:100 2005-09-28 12:09:00 得分: 0
总结几种方法:
1.如果本地运行,数据库放在当前目录下
2.jsp页面中getRealPath方法获取服务器绝对路径 3.servlet中用context获取上下文信息
4.javabean中,放在服务器的运行目录下,如bin下(tomcat)5.用jndi连接池
Top 回复人: wzjcntlqs(要做钱的主人)()信誉:100 2005-09-28 12:31:00 得分: 0 不知道ACCESS能不能像SQL SERVER 一样可以建个数据源呢
Top 回复人: datalover(String lover(String loveme))()信誉:98 2005-10-03 00:16:00 得分: 0
可以啊,不过只能本地用哦
Top
第二篇:JDBC连接数据库经验总结
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。
一、连接各种数据库方式速查表
下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。
1、Oracle8/8i/9i数据库(thin模式)
Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();String url=“jdbc:oracle:thin:@localhost:1521:orcl”;//orcl为数据库的SID String user=“test”;String password=“test”;Connection conn= DriverManager.getConnection(url,user,password);
2、DB2数据库
Class.forName(“com.ibm.db2.jdbc.app.DB2Driver ”).newInstance();String url=“jdbc:db2://localhost:5000/sample”;//sample为你的数据库名 String user=“admin”;String password=“";Connection conn= DriverManager.getConnection(url,user,password);
3、Sql Server7.0/2000数据库
Class.forName(”com.microsoft.jdbc.sqlserver.SQLServerDriver“).newInstance();String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb“;//mydb为数据库 String user=”sa“;String password=”“;Connection conn= DriverManager.getConnection(url,user,password);
4、Sybase数据库
Class.forName(”com.sybase.jdbc.SybDriver“).newInstance();String url =” jdbc:sybase:Tds:localhost:5007/myDB“;//myDB为你的数据库名
Properties sysProps = System.getProperties();SysProps.put(”user“,”userid“);SysProps.put(”password“,”user_password“);Connection conn= DriverManager.getConnection(url, SysProps);
5、Informix数据库
Class.forName(”com.informix.jdbc.IfxDriver“).newInstance();String url = ”jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;user=testuser;password=testpassword“;//myDB为数据库名 Connection conn= DriverManager.getConnection(url);
6、MySQL数据库
Class.forName(”org.gjt.mm.mysql.Driver“).newInstance();String url =”jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1“ //myDB为数据库名
Connection conn= DriverManager.getConnection(url);
7、PostgreSQL数据库
Class.forName(”org.postgresql.Driver“).newInstance();String url =”jdbc:postgresql://localhost/myDB“ //myDB为数据库名 String user=”myuser“;String password=”mypassword“;Connection conn= DriverManager.getConnection(url,user,password);
8、access数据库直连用ODBC的
Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver“);String url=”jdbc:odbc:Driver={MicroSoft Access Driver(*.mdb)};DBQ=“+application.getRealPath(”/Data/ReportDemo.mdb“);Connection conn = DriverManager.getConnection(url,”“,”“);Statement stmtNew=conn.createStatement();
二、JDBC连接MySql方式
下面是使用JDBC连接MySql的一个小的教程
1、查找驱动程序
MySQL目前提供的java驱动程序为Connection/J,可以从MySQL官方网站下载,并找到mysql-connector-java-3.0.15-ga-bin.jar文件,此驱动程序为纯java驱动程序,不需做其他配置。
2、动态指定classpath 如果需要执行时动态指定classpath,就在执行时采用-cp方式。否则将上面的.jar文件加入到classpath环境变量中。
3、加载驱动程序
try{ Class.forName(com.mysql.jdbc.Driver);System.out.println(Success loading Mysql Driver!);}catch(Exception e){ System.out.println(Error loading Mysql Driver!);e.printStackTrace();}
4、设置连接的url
jdbc:mysql://localhost/databasename[?pa=va][&pa=va]
三、以下列出了在使用JDBC来连接Oracle数据库时可以使用的一些技巧
1、在客户端软件开发中使用Thin驱动程序
在开发Java软件方面,Oracle的数据库提供了四种类型的驱动程序,二种用于应用软件、applets、servlets等客户端软件,另外二种用于数据库中的Java存储过程等服务器端软件。在客户机端软件的开发中,我们可以选择OCI驱动程序或Thin驱动程序。OCI驱动程序利用Java本地化接口(JNI),通过Oracle客户端软件与数据库进行通讯。Thin驱动程序是纯Java驱动程序,它直接与数据库进行通讯。为了获得最高的性能,Oracle建议在客户端软件的开发中使用OCI驱动程序,这似乎是正确的。但我建议使用Thin驱动程序,因为通过多次测试发现,在通常情况下,Thin驱动程序的性能都超过了OCI驱动程序。
2、关闭自动提交功能,提高系统性能
在第一次建立与数据库的连接时,在缺省情况下,连接是在自动提交模式下的。为了获得更好的性能,可以通过调用带布尔值false参数的Connection类的setAutoCommit()方法关闭自动提交功能,如下所示:
conn.setAutoCommit(false);
值得注意的是,一旦关闭了自动提交功能,我们就需要通过调用Connection类的commit()和rollback()方法来人工的方式对事务进行管理。
3、在动态SQL或有时间限制的命令中使用Statement对象
在执行SQL命令时,我们有二种选择:可以使用PreparedStatement对象,也可以使用Statement对象。无论多少次地使用同一个SQL命令,PreparedStatement都只对它解析和编译一次。当使用Statement对象时,每次执行一个SQL命令时,都会对它进行解析和编译。这可能会使你认为,使用PreparedStatement对象比使用Statement对象的速度更快。然而,我进行的测试表明,在客户端软件中,情况并非如此。因此,在有时间限制的SQL操作中,除非成批地处理SQL命令,我们应当考虑使用Statement对象。
此外,使用Statement对象也使得编写动态SQL命令更加简单,因为我们可以将字符串连接在一起,建立一个有效的SQL命令。因此,我认为,Statement对象可以使动态SQL命令的创建和执行变得更加简单。
4、利用helper函数对动态SQL命令进行格式化
在创建使用Statement对象执行的动态SQL命令时,我们需要处理一些格式化方面的问题。例如,如果我们想创建一个将名字O'Reilly插入表中的SQL命令,则必须使用二个相连的“''”号替换O'Reilly中的“'”号。完成这些工作的最好的方法是创建一个完成替换操作的helper方法,然后在连接字符串心服用公式表达一个SQL命令时,使用创建的helper方法。与此类似的是,我们可以让helper方法接受一个Date型的值,然后让它输出基于Oracle的to_date()函数的字符串表达式。
5、利用PreparedStatement对象提高数据库的总体效率
在使用PreparedStatement对象执行SQL命令时,命令被数据库进行解析和编译,然后被放到命令缓冲区。然后,每当执行同一个PreparedStatement对象时,它就会被再解析一次,但不会被再次编译。在缓冲区中可以发现预编译的命令,并且可以重新使用。在有大量用户的企业级应用软件中,经常会重复执行相同的SQL命令,使用PreparedStatement对象带来的编译次数的减少能够提高数据库的总体性能。如果不是在客户端创建、预备、执行PreparedStatement任务需要的时间长于Statement任务,我会建议在除动态SQL命令之外的所有情况下使用PreparedStatement对象。
6、在成批处理重复的插入或更新操作中使用PreparedStatement对象
如果成批地处理插入和更新操作,就能够显著地减少它们所需要的时间。Oracle提供的Statement和 CallableStatement并不真正地支持批处理,只有PreparedStatement对象才真正地支持批处理。我们可以使用addBatch()和executeBatch()方法选择标准的JDBC批处理,或者通过利用PreparedStatement对象的setExecuteBatch()方法和标准的executeUpdate()方法选择速度更快的Oracle专有的方法。要使用Oracle专有的批处理机制,可以以如下所示的方式调用setExecuteBatch():
PreparedStatement pstmt3D null;try {((OraclePreparedStatement)pstmt).setExecuteBatch(30);...pstmt.executeUpdate();}
调用setExecuteBatch()时指定的值是一个上限,当达到该值时,就会自动地引发SQL命令执行,标准的executeUpdate()方法就会被作为批处理送到数据库中。我们可以通过调用PreparedStatement类的sendBatch()方法随时传输批处理任务。
7、使用Oracle locator方法插入、更新大对象(LOB)
Oracle的PreparedStatement类不完全支持BLOB和CLOB等大对象的处理,尤其是Thin驱动程序不支持利用PreparedStatement对象的setObject()和setBinaryStream()方法设置BLOB的值,也不支持利用setCharacterStream()方法设置CLOB的值。只有locator本身中的方法才能够从数据库中获取LOB类型的值。可以使用PreparedStatement对象插入或更新LOB,但需要使用locator才能获取LOB的值。由于存在这二个问题,因此,我建议使用locator的方法来插入、更新或获取LOB的值。
8、使用SQL92语法调用存储过程
在调用存储过程时,我们可以使用SQL92或Oracle PL/SQL,由于使用Oracle PL/SQL并没有什么实际的好处,而且会给以后维护你的应用程序的开发人员带来麻烦,因此,我建议在调用存储过程时使用SQL92。
9、使用Object SQL将对象模式转移到数据库中
既然可以将Oracle的数据库作为一种面向对象的数据库来使用,就可以考虑将应用程序中的面向对象模式转到数据库中。目前的方法是创建Java bean作为伪装的数据库对象,将它们的属性映射到关系表中,然后在这些bean中添加方法。尽管这样作在Java中没有什么问题,但由于操作都是在数据库之外进行的,因此其他访问数据库的应用软件无法利用对象模式。如果利用Oracle的面向对象的技术,可以通过创建一个新的数据库对象类型在数据库中模仿其数据和操作,然后使用JPublisher等工具生成自己的Java bean类。如果使用这种方式,不但Java应用程序可以使用应用软件的对象模式,其他需要共享你的应用中的数据和操作的应用软件也可以使用应用软件中的对象模式。
10、利用SQL完成数据库内的操作
我要向大家介绍的最重要的经验是充分利用SQL的面向集合的方法来解决数据库处理需求,而不是使用Java等过程化的编程语言。
如果编程人员要在一个表中查找许多行,结果中的每个行都会查找其他表中的数据,最后,编程人员创建了独立的UPDATE命令来成批地更新第一个表中的数据。与此类似的任务可以通过在set子句中使用多列子查询而在一个UPDATE命令中完成。当能够在单一的SQL命令中完成任务,何必要让数据在网上流来流去的?我建议用户认真学习如何最大限度地发挥SQL的功能。11 JNDI
try{
InitialContext ctx=new InitialContext();Object o = ctx.lookup(”java:comp/env/hibernate“);out.print(”class="+o.getClass().getName());DataSource ds=(javax.sql.DataSource)o;}catch(NamingException e){
e.printSatckTrace;}
第三篇:Access数据库实验报告
注意事项:本手册上写的是题目的出处,但的实验本上,必须写上书上原本的题目,否则无效。并且写下每题实现的步骤。
《Access数据库》实验报告指导手册掌握选择查询、总记查询、在查询中进行计算
实验一:
一、实验名称
数据库与表的操作
二、实验目的掌握数据库的创建、表结构的创建和输入数据 的实现。
三、实验任务
上机一:书上94页的例3.1题。上机二:书上101页的例3.4题。上机三:书上105页的例3.6题。
三、实验任务
上机一:书上34页的例 2.2题。上机二:书上42页的例2.6题。上机三:书上44页的例2.7题。上机四:书上49页的例2.9题。上机五:书上52页的例2.10题。实验二:
一、实验名称
设置字段的属性与创建表之间的关系
二、实验目的掌握字段属性的设置与创建表之间的关系。
三、实验任务
上机一:书上55页的例2.11题。上机二:书上57页的例2.13题。上机三:书上58页的例2.14题。上机四:书上60页的例2.15题。上机五:书上63页的例2.16题。实验三:
一、实验名称维护表的操作
二、实验目的掌握打开表、修改表的结构、编辑表的数据和调整表的外观等操作。
三、实验任务
上机一:书上66页的例2.18题。上机二:书上71页的例2.20题。上机三:书上73页的例2.21题。上机四:书上74页的例2.22题。上机五:书上76页的例2.23题。实现四:
一、实验名称创建选择查询
二、实验目的上机四:书上107页的例3.8题。上机五:书上109页的例3.9题。实验五:
一、实验名称
创建交叉表查询、参数查询
二、实验目的掌握交叉表查询、参数查询的实现。
三、实验任务
上机一:书上113页的例3.11题。上机二:书上116页的例3.12题。上机三:书上118页的例3.13题。上机四:书上119页的例3.14题。实验六:
一、实验名称创建操作查询
二、实验目的掌握生成表查询、删除查询、更新查询和追加查询的实现。
三、实验任务
上机一:书上121页的例3.15题。上机二:书上122页的例3.16题。上机三:书上124页的例3.17题。上机四:书上125页的例3.18题。实验七:
一、实验名称
利用向导创建窗体
二、实验目的掌握利用向导创建窗体的实现。
三、实验任务
上机一:书上144页的例4.2题。上机二:书上147页的例4.3题。上机三:书上150页的例4.5题。上机四:书上152页的例4.6题。实验八:
一、实验名称自定义窗体
二、实验目的掌握常见控件的使用与自定义窗体的实现。
三、实验任务
上机一:书上158页的例4.7题。上机二:书上167页的例4.8题。上机三:书上174页的例4.9题。上机四:书上174页的例4.10题。上机五:书上176页的例4.11题。实验九:
一、实验名称
编辑报表
二、实验目的掌握编辑报表的操作、报表的分组操作、增加计算控件的操作。
三、实验任务
上机一:书上203页的例5.7题。
上机二:书上203页的:在报表中,可以在某一节中使用分页控件符来标志要另起一页的位置。
上机三:书上205页的例5.8题。上机四:书上206页的例5.9题。上机五:书上209页的例5.10题。
第四篇:Access数据库实验
实验一 ACCESS之表的操作
一、实验目的
1、熟悉Access用户操作界面。
2、掌握创建表的方法。
3、掌握创建主键和索引的方法。
4、掌握表结构的编辑和表中数据的操作方法。
5、掌握建立表间关系的方法。
二、实验内容及步骤
1、用“数据库向导”创建“教师教学信息”教学库 步骤:
1)启动Access,出现一启动对话框;
2)单击“新建数据库”下的“Access数据库向导、数据页和项目”单选项;
3)单击“确定”按钮,出现“新建”对话框,选择“数据库”选项卡,在列表框中选择“讲座管理”模板; 4)单击“确定”按钮,出现“文件新建数据库”对话框。输入数据库文件名“教师教学信息”,单击“创建”按钮,出现“数据库向导”对话框;
5)单击“下一步”按钮,出现“数据库向导”对话框。在此对话框中,从左边的“数据库中的表”列表框中选择要建立的表名称,并在右边的“表中的字段”列表框中选择需要的字段,在此任选,后面再修改; 6)单击“下一步”按钮,在“数据库向导”对话框中选择“标准”显示样式; 7)单击“下一步”按钮,在“数据库向导”对话框中选择“组织”打印报表样式; 8)单击“下一步”按钮,输入数据库标题名“教师教学信息” 9)单击“下一步”按钮,然后单击“完成”,就可在数据库中得到一些表、窗体、查询和报表等对象。
2、在“教师教学信息”数据库中建立三个表,分别为系(部门)表,其中有三个字段即系(部门)ID、系(部门)名称和系(部门)编号;教师情况一览表,其中有七个字段即教师ID、教师姓名、出生年月、性别、职称、工资和系(部门)ID;教师任课表,其中有七个字段即课程ID、课程名称、系(部门)ID、教师ID、学分、学时和考试类型。并在表中输入数据。
1)使用向导创建“系(部门)表”,并在表中输入数据。步骤:
(1)在“Microsoft Access”窗口中打开“文件”菜单,选择“打开”命令,进入“打开”窗口。(2)选择“教师教学信息”数据库,单击“打开”按钮;
(3)在“教师教学信息”数据库窗口中,选择“表”对象,并在列表框中选择“使用向导创建表”。(4)单击“新建”按钮,出现“新建表”对话框,选择“表向导”。
(5)单击“确定”按钮,出现“表向导”对话框。在“示例表”列表框中选择“学生”表,然后在“示例字段”列表框中选择“学生ID”、“名字”和“学号”,并添加到“新表中的字段”列表框中。
(6)单击“重命名字段…”按钮,出现一对话框,将原字段名“学生ID”改成“系(部门)ID”,单击“确定”按钮。依次重复第6步,直到将“名字”改为“系(部门)名称,”学号“改为”系(部门)编号“。
(7)单击”下一步“,出现”表向导“对话框,在”请指定表的名称“文本框中输入表的名称”系(部门)表“。(8)单击”下一步“,选择”不相关“。
(9)单击”下一步“,选择”直接向表中输入数据“。
(10)单击”完成“,即可输入数据创建一个”系(部门)表“。2)重复用”表向导“创建”系(部门)表“的过程步骤,可以用”表向导“建立”教师情况一览表“和”教师任课表“。当然也可以利用”输入数据“创建表和使用”表设计器“创建表。
3、在三个表中创建主键和索引。1)创建主键 步骤:
(1)在”教师教学信息“数据库窗口中选择”表“对象,在列表框中选择”系(部门)表“。然后单击”设计“按钮,进入表的结构设计窗口。
(2)选定”系(部门)ID“,右击,在弹出的菜单中选”主键“命令即可。
利用以上方法在”教师情况一览表“中将”教师ID“创建为主键,在”教师任课表“中将”课程ID“创建为主键。2)创建索引 步骤:
(1)在”教师教学信息“数据库窗口中选择”表“对象,在列表框中选择”系(部门)表“。然后单击”设计“按钮,进入表的结构设计窗口。
(2)选定”系(部门)ID“,然后打开”索引“下拉框,选择”有(无重复)“选项。(3)保存表即可。
利用以上方法在”教师情况一览表“中以”教师ID“字段来创建索引,在”教师任课表“中以”课程ID“字段来创建索引。
4、创建表间关系。
1)在”教师情况一览表“与”教师任课表“之间建立”一对多“的关系 步骤:
(1)关闭其他打开的窗口,只留下”教师教学信息“数据库窗口。
(2)打开”工具“,选择”关系“,进入”关系“窗口,同时弹出”显示表“对话框。(3)在”显示表“对话框中,选择”教师情况一览表“和”教师任课表“,单击”添加“。
(4)在”关系“窗口中,将”教师情况一览表“中的”教师ID“拖到”教师任课表“中”教师ID“位置,弹出”编辑关系“对话框。
(5)单击”创建“后,关闭”关系“窗口,屏幕提示是否保存关系布局的更改,单击”是“即可。
2)利用以上方法可在”教师任课表“与”系(部门)表“之间建立”一对多“的关系,在”教师情况一览表“与”系(部门)表“之间建立”一对多“的关系。
四、实验体会及建议
请写出实验后的体会和建议。
实验二 ACCESS之查询操作
一、实验目的
1、掌握使用”向导“和使用”设计器“创建”选择查询“的方法。
2、掌握使用”向导“和使用”设计器“创建”交叉表查询“的方法。
3、掌握使用”设计器“创建”参数查询“的方法。
4、掌握使用”设计器“创建”更新查询“的方法。
5、掌握使用”设计器“创建”SQL查询“的方法。
二、实验内容及步骤
1、用”选择查询“创建”教师情况查询“ 步骤:(使用”设计器“)
1)在”教师教学信息“数据库窗口中,选择”查询“对象,然后单击”新建“按钮,出现”新建查询“对话框。选择”设计视图“后,”确定“,进入”选择查询“窗口,同时弹出”显示表“对话框。2)选择”表“选项卡,在列表框中双击”教师情况一览表“,单击”关闭“。
3)在”选择查询“窗口中,从”教师情况一览表“字段列表框中选择”教师ID“、”教师姓名“、”出生年月“和”工资“4个字段,分别用鼠标左键拖到下面的字段属性框中,并在字段属性框中将”出生年月“字段的”排序“属性设置为”升序“,然后单击”运行“按钮,即可在”教师情况一览表“中创建”教师情况查询“。
4)单击”保存“,出现”另存为“对话框,在”查询名称“框中输入”教师情况查询“,单击”确定“,结束操作。
2、用”交叉表查询“创建”每个系各门课程学时“ 步骤:(使用”设计视图“)
1)在”教师教学信息“数据库窗口中,选择”查询“对象,并在列表框中双击”在设计视图中创建查询“,出现”显示表“对话框。
2)选择”表“选项卡,然后在列表框中选择”教师任课表“和”系(部门)表“,单击”添加“,把这两个表添加到”选择查询“窗口中,单击”显示表“对话框中的”关闭“。3)打开”查询“菜单,选”交叉表查询“。
4)在”交叉表查询“设计窗口中,从上面的”系(部门)表“字段列表框中选字段”系(部门)名称“,按住鼠标左键把”系(部门)名称“字段拖到下面的字段属性框中,然后在”教师任课表“中选择字段”课程名称“和”学时“,再用鼠标左键把它们拖到下面的字段属性框中。在下面的字段属性框中,将”系(部门)名称“字段设为”列标题“,将”课程名称“字段设为”行标题“,将”学时“字段设为显示”值“,单击”运行“,即可完成查询每个系各门课程的学时。
5)单击”保存“,出现”另存为“对话框,在”查询名称“框中输入”每个系各门课程学时“,单击”确定“,结束操作。
3、创建”参数查询“ 步骤:(通过”插入“菜单命令)
1)在”教师教学信息“数据库窗口中,选”查询“对象。打开”插入“菜单,选”查询“命令。2)在”新建查询“对话框中,选”设计视图“,”确定“后出现”显示表“对话框。3)选”表“选项卡,在列表框中双击”教师任课表“,单击”显示表“中的”关闭“。
4)在”选择查询“窗口中,从上面的”教师任课表“字段列表框中选字段”课程名称“和”考试类型“,按住鼠标左键将这两个字段分别拖到下面的字段属性框中,然后在”课程名称“的”准则“属性栏中输入”[请输入课程名称:]“。
5)单击”运行“,出现”输入参数值“对话框,在”请输入课程名称:“框中输入”C++语言“,单击”确定“,即可得到查询结果。
6)单击”保存“,出现”另存为“对话框,在”查询名称“框中输入”参数查询考试类型“,单击”确定“,结束操作。7)在”教师教学信息“数据库窗口中,选”查询“对象,在列表框中双击”参数查询考试类型“,出现”输入参数值“对话框。在”请输入课程名称“框中输入”高等数学“,单击”确定“,即可得到查询结果。8)重复第7步,可查询任意课程的”考试类型“。
4、创建”更新查询“ 步骤:(通过”查询“菜单命令)
1)在”教师教学信息“数据库窗口中,选”查询“对象。打开”插入“菜单,选”查询“。2)在”新建查询“对话框中,选”设计视图“,”确定“。
3)在”显示表“对话框中,选”表“选项卡,在列表框中双击”教师情况一览表“,将其字段列表框添加到”选择查询“窗口中,单击”关闭“。
4)在”选择查询“窗口中,打开”查询“菜单,选”更新查询“。
5)在”更新查询“窗口中,从上面的”教师情况一览表“字段列表框中选字段”工资“,按住鼠标左键把它拖到下面的字段属性框中,然后在”工资“的”准则“属性栏中输入”<1000“,在”工资“的”更新到“属性栏中输入”[工资]+100“。打开”视图“菜单,选”数据表视图“命令,可看到更新前的”工资“情况。6)单击”运行“,即可创建”更新查询“。打开”视图“菜单,选”数据表视图“命令,可看到更新后的”工资“情况。
5、用”SQL查询“创建一个”课程信息表“ 步骤:(通过”视图“菜单命令)
1)在”教师教学信息“数据库窗口中,选”查询“对象,单击”新建“按钮,进入”新建查询“窗口。在该窗口中选”设计视图“,”确定“后进入”显示表“对话框,将其关闭。
2)在”选择查询“窗口打开”视图“下拉菜单,并选”SQL视图“命令。3)在”SQL视图“窗口中,输入创建一个”课程信息表“的SQL语句。CREATE TABLE 课程信息表([课程编号] integer not null, [课程名称] text, [学时] integer, [考试类型] text)4)单击”运行“,即可创建”SQL查询“。
5)单击”保存“,出现”另存为“对话框。在”查询名称“框中输入”课程信息表SQL查询“,”确定“后,结束操作。6)在”教师教学信息“数据库窗口中,选”表“对象,然后在列表框中双击”课程信息表“,此时是一个空表,可在该表中输入数据。
7)要在”课程信息表“中增加一个新字段”学分“,要用到修改表结构SQL语句”ALTER TABLE“。重复第一步和第二步,打开”SQL视图“窗口。
8)在此窗口中输入增加新字段的语句,即ALTER TABLE 课程信息表 ADD 学分 INTEGER,单击”运行“。
9)在”教师教学信息“数据库窗口中,选”表“对象,然后在列表框中双击”课程信息表“,可以见到修改后的”课程信息表“,”学分“字段已经被增加到”课程信息表"中。
第五篇:Access数据库复习资料
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
Access数据库复习资料
1.ACCESS的窗体对象是什么?按其应用功能的不同,将ACCESS窗体对象分为哪几类?答:窗体是Access为用户提供的人机交互界面,是用户为数据库之间联系的桥梁,通过窗体可对数据库中的数据进行输入、编辑、查询、排序、筛选、显示及应用程序的执行控制。按其应用功能的不同,将窗体对象分为如下四类:控制窗体、数据操作窗体、信息显示窗体和交互信息窗体。
PS: 窗体的作用: 显示编辑数据、数据输入、控制应用程序流程、打印数据
在ACCESS2007的环境下,窗体具有六种类型的视图:设计视图 布局视图 窗体视图 数据表视图 数据透视图视图 市局透视表示图
2.简述压缩和修复数据库的必要性 删除数据库对象是数据库操作中常用的操作,但在这个操作过程中会出现碎片,而压缩数据库文件实际上就是重新组织文件在磁盘上的存储方式,从而消除碎片,重新安排数据,回收磁盘空间,达到优化数据库的目的。在对数据库进行压缩之前,Access会对文件进行错误检查,一旦检测到数据库损坏,就会要求修复数据库。修复数据库可以修复数据库中的表、窗体、报表或模块的损坏,以及打开特定窗体、报表或模块所需的信息。
3.简述ACCESS2007安全性的新增功能 1)增强的查看数据能力。在Access 2007中,则不必判断是否启用数据库就可以随
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
时打开并查看数据。(2)更高的易用性。(3)信任中心。(4)更少的警告消息。(5)以新方式签名和分发文件。(6)加密工具的算法更强大。
4.ACCESS2007中的窗体共有几种视图?ACCESS2007中的窗体“设计视图”窗口中,窗体有5个节,他们分别是什么?六种视图:设计视图、布局视图、窗体视图、数据透视表示图、数据透视图视图、数据表视图。
5.VBA中变量的命名规则是怎样的?常见的数据类型有哪些?VBA中常见的数据类型有哪里并写出其储存空间多大?命名规则:只能以字母或汉字开头;不能用VBA关键字;变量名不区分大小写;以字母、数字、汉字或下划线组成,长度不能超过255个字符。整型 长整型 字符串 单精度型 双精度型 货币型 日期型 变体型
6.VBA中有三种基本的程序控制结构,请写出结构中常用的语句?每种结构的特点是怎样的?Goto语句,if…then语句,if…then…else语句,select case语句,for循环语句,do…loop语句。
7.窗体的主要功能有哪些?
显示和编辑数据,数据输入,控制应用程序流程,打印数据,信息显示。
8.关系数据库系统的主要特点是什么?1)数据集中控制,2)数据独立,3)数据共享,4)减少数据冗余,精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
5)数据结构化,6)统一的数据保护功能,9.简述层次、网状、关系三种常用的数据模型 层次模型是以记录类型为结点的树型结构,下层记录是上层记录中某元素的细化。
网状模型
有一个以上记录类型没有父结点;至少有一个记录类型多于一个父结点。用这种网络结构表示记录类型之间联系的模型称为网状模型。
关系模型
关系模型的基本思想是把事物与事物之间的联系用二维表格的形式描述。一个关系可以看作一个二维表,表中每一行是一个记录,每一列是一个字段。
10.什么是数据模型?常用的数据模型有哪几种?各种数据模型有什么特点?数据模型是指具有联系性的相关数据总是按照一定的组织关系排列,从而构成一定的 结构,对这种结构的描述就是数据模型。层次模型(艺术性结构表示数据间的关系)、网状模型以网络结构表示节点间的关系)、关系模型以二维表表示数据间的关系)。12.试解释关系数据库中的以下术语:关系、元组、属性、关键字。13.试述不少于二种窗体控件的功能。
14.数据库技术的三个发展阶段是什么?各阶段有什么特点?? 人工
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
管理阶段
人工管理的特点就是使用计算机管理数据,速度加快,效率提高。但其基本特征(现在看来也是缺陷)就是数据与应用一一对应,基于物理方式存取数据,用户必须掌握数据在计算机中确切的存储地址和存取方式。(? 文件系统阶段
(一)数据长期保存
(二)数据组织成相互独立的数据文件
(三)应用程序与数据文件存在多对多的关系
(四)具有一定的共享性
? 数据库系统阶段
(一)数据高度结构化
(二)数据的共享性高、冗余度低、易于扩充
(三)数据独立性高
(四)数据库管理系统
14.数据库系统的主要特点是什么?
1、实现数据共享,减少数据冗余。
2、采用特定的数据模型。
3、具有较高的数据独立性。
4、有统一的数据控制功能。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
15.数据库系统有哪几部分组成?(数据库系统(DBS)由三部分构成分别是:数据库(DB),数据库管理系统(DBMS),数据库管理员(DBA)。也可以用公式表示为:DBS=DB+DBMS+DBA
16.简述数据库系统的管理方式 9 | 评论(5)
17.打印1-500以内的能同时满足用8除余3,用9除余4的所有整数。
18.输入两数X和Y,求X除以Y的余数(余数放入C中)19.任意输入三个整数,求其中间数。
1,有哪几种运行宏的方法?
运行宏的方法有多种,常见的有:直接运行宏,将宏绑定到控件上由控件触发宏的运行,在一个宏中调用另一个宏,自动运行宏。2,什么是数据模型?常用的数据模型有哪几种?各种数据模型有什么特点?
特点:数据模型是指具有联系性的相关数据只是按照一定的组织关系排列,从而构成一定的结构,对这种结构 的描述就是数据模型。常用的数据模型有:层次模型,网状模型,关系模型。
层次模型以树形架构表示数据间的关系;网状模型以网络结构表示结
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
点间的关系;关系模型以二维表表示数据间的关系.3,关系数据库系统的主要特点是什么?
每一个字段不可再分。同一关系中不能出现相同的属性名。关系中不能有完全相同的元组。同一关系中属性的次序无关,元组的次序无关。4,如果表中一个字段不是本表的主关键字,而是另外一个表的主关键字或候选关键字,这个字段为:外部关键字。
5,在关系运算中,要从关系模式中指定若干属性组成的新关系,该关系运算称为:投影。
6,在关系数据库中,基本的关系运算有3种,它们是选择,投影和:连接。
7在关系数据库中,从关系中找出满足给定条件的元组,该操作可称为:选择。
8,在关系运算中,查找满足一定条件的元组的运算称为:选择。9,三个基本的专门的关系运算是:选择,投影,连接。10,在E-R图中,菱形表示实体间的联系.11,在关系数据模型中,二维表的行称为元组,二维表的列称为:属性。
12,关系模型的完整性规则是对关系的某种约束条件,包括实体完整性,参照完整性和自定义完整性。
13,在数据库技术中,实体集之间的联系可以是一对一,一对多或多对多,那么学生和可选择课程的联系是:多对多。14,在E-R图中,矩形表示:实体
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
15,在关系数据库中,用来表示实体之间的联系的是关系 16,在二维表中,元组的分量不能再分成更小的数据项,17,有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程号,学时),其中的两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号,课号,班级)18,在关系A(S,SN,和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称D是关系A的外码。
19,一个工人可管理多个设备,而一个设备只被一个个人管理,则实体“工人”与实体“设备”之间存在一对多的关系。20,在E-R图中,菱形表示实体间的联系。
17.什么是数据模型?常营的数据模型有几种?有什么特点? 答案:数据模型是指具有联系性的相关数据总是按照一定的组织关系排列,从而构成一定的结构,对这种结构的描述就是数据模型
常用的数据模型:层次。网状、关系模型
层次模型以树形结构表示数据间的关系,网状以网络结构表示节点间的关系,关系模型以二维表表示数据间的关系
18.关系数据库系统的主要特点是什么? 答案:1每一个字断不可再分
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
2.同一个关系中不能出现相同的属性名
3.关系中不能有完全相同的元组
4.统一关系中属性的次序无关,元组的次序无关
19.(1).在关系运算中,要从关系模式中指定若干属性组成新的关系,该关系运算称为()-----答:投影
(2).在关系数据库中,基本的关系运算有3种,他们是选择、投影和()-----答:连接
(3).在关系数据库中,从关系中找出满足给定条件的元组,该操作可称为()-----答:选择
(4).在关系运算中,查找满足一定条件的元组的运算称为()-----答:选择
(5).三个基本的专门的运算是()-----答:选择、投影、联接
20.(1)一个数据库有若干个()组成,一个数据表有若干个()组成,每一个记录有若干个以字段属性加以分类的()组成------数据表,记录,数据项
(2)在进行数据库的逻辑设计时,E-R图中的属性常被转换为关系
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
中的属性,联系通常被转换为()------关系
(3)数据库中应用系统中的核心问题是()-----数据库设计
21.(1)在ACCESS2003及早期版本中建立的数据库文件的扩展名是()--------MDB(2)在ACCESS2007中建立的数据库文件的扩展名是()--------accdb
1查询设计视图窗口分为上下两部分
上半部分为字段列表区 下半部分为(设计网络)
2在交叉表查询中,只能有一个(列标题)值,但可以有一个或多个
(行标题)
3在创建查询时,有些实际需要的内容在数据源的字段中并不存在 但可以通过在查询中增加(计算)完成4将1990以前参加工作的教师职称改为副教授(更新查询)
5查询建好后要通过(运行)
6所有的查询
都可以在(SQL)视图中创建
7DELETE语句中不指定WHERE(删除所有记录)8表与表之间的关系包括(多对多)
9(运算符)是组成查询准则的基本元素
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
10操作查询共有4种类型
分别是
(更新查询)什么是选择查询
什么是操作查询
??选择查询是根据指定的查询条件
从一个或多个表获取满足条件的数据
并且按指定迅速显示数据
选择查询还可以将记录进行分组
并计算总和
计数平均值及其他类型的总计
操作查询不仅可以进行查询
而且可以对在一个操作对表中的多条记录进行添加
编辑和删除等修改操作 12 GROUP BY 对查询进行分组
用于计数的函数
COUNT()SUM()AVC()14 不指定WHERE(删除所有记录)
15ORDER BY 用于结果进行(排序)
16HAVING必须和(group by)一起使用
17用(order by)对查询的结果进行排序
18实现查询表名为图书表中所有记录(* from 图书表)
19用于实现运算(WHERE)
20Distinct表示(检索要去除重复的所有远组)年龄FROM职员表WHERE姓名LIKE李% 意思为(找出职员表中职员的名字和年龄)DESC表示(降序排列)数据库技术的三个发展阶段是什么
各阶段分别有什么特点?
层次型和网状型
关系型数据型
一数据模型和数据管理功能为特征
面向对象
Iu
1、(参照完整性)是一种系统规则,ACCESS可以用它来确保关系记录表中的记录是有效的,且可以确保用户不会在无意间删除或更改重要的数据。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
2、ACCESS提供了两张字段数据类型保存文本或文本和数字组合的数据,这两种数据类型是文本和(备注)。
3、(掩码)规定数据的输入模式,具有控制数据输入功能。
4、多字段排序时,排序的优先级是(数据量巨大、数据类型多、数据类型间区别大)。
5、要建立两个表之间的关系,必须通过两表的(索引和关键字)来创建。
6、如果再查询的条件下使用“[]”,其含义是(通配方括号内任一单个字符)。
7、在ACCESS中要再查找条件中与任意一个数字字符想匹配,应使用的通配符是(#)
8、学生学号由9位数字组成,其中能包含空格,则学号字段的输入掩码是(0)
9、ACCESS数据库中的字节(Byte)数值类型在数据库中占(1)字节.10如何保证数据库中数据的完整性(实体完整性规则、参照完整性规则、用户自定义完整性规则)
11、查询视图设计窗口分为上下两部分,上半部分为“字段列表区”,下半部分为(设计网格)。
12、在交叉表查询中,只能有一个(列标题)和值,但可以有一个或多个(行标题)
13、在创建查询时,有些实际需要的内容在数据源的字段中并不存在,但可以通过在查询中增加(计算)完,,精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
14、将1990年以前才加工作的教室职称全部改为副教授,则适合使用(更新查询)查询。
15、查询建好后,要通过(运行)得查询结果。
16、所有的查询都可以在(SQL)视图中创建修改。
17、DELETE语句中不指定WHERE,则(删除所有记录)
18、表与表的关系包括一对一,一对多,(多对多)三种类型
19、(运算符)是组成查询准则的基本元素。
20、操作查询共有4种类型,分别是删除查询、(更新查询)、追加查询和生成表查询。
21、什么是选择查询?什么是操作查询?
答:选择查询是根据指定的条件查询条件,从一个或多个表获取满足条件的数据,并且按指定的顺序显示数据,选择查询还可以将记录进行分组,并计算综合,计数,平均值以及其它类型的总计,操作查询不仅可以进行查询,而且可以对一个操作中的对表中的多条记录进行添加、编辑、删除等修改操作。
Iu
1、(参照完整性)是一种系统规则,ACCESS可以用它来确保关系记录表中的记录是有效的,且可以确保用户不会在无意间删除或更改重要的数据。
2、ACCESS提供了两张字段数据类型保存文本或文本和数字组合的数
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
据,这两种数据类型是文本和(备注)。
3、(掩码)规定数据的输入模式,具有控制数据输入功能。
4、多字段排序时,排序的优先级是(数据量巨大、数据类型多、数据类型间区别大)。
5、要建立两个表之间的关系,必须通过两表的(索引和关键字)来创建。
6、如果再查询的条件下使用“[]”,其含义是(通配方括号内任一单个字符)。
7、在ACCESS中要再查找条件中与任意一个数字字符想匹配,应使用的通配符是(#)
8、学生学号由9位数字组成,其中能包含空格,则学号字段的输入掩码是(0)
9、ACCESS数据库中的字节(Byte)数值类型在数据库中占(1)字节.10如何保证数据库中数据的完整性(实体完整性规则、参照完整性规则、用户自定义完整性规则)
11、查询视图设计窗口分为上下两部分,上半部分为“字段列表区”,下半部分为(设计网格)。
12、在交叉表查询中,只能有一个(列标题)和值,但可以有一个或多个(行标题)
13、在创建查询时,有些实际需要的内容在数据源的字段中并不存在,但可以通过在查询中增加(计算)完,,14、将1990年以前才加工作的教室职称全部改为副教授,则适合使
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
用(更新查询)查询。
15、查询建好后,要通过(运行)得查询结果。
16、所有的查询都可以在(SQL)视图中创建修改。
17、DELETE语句中不指定WHERE,则(删除所有记录)
18、表与表的关系包括一对一,一对多,(多对多)三种类型
19、(运算符)是组成查询准则的基本元素。
20、操作查询共有4种类型,分别是删除查询、(更新查询)、追加查询和生成表查询。
21、什么是选择查询?什么是操作查询?
答:选择查询是根据指定的条件查询条件,从一个或多个表获取满足条件的数据,并且按指定的顺序显示数据,选择查询还可以将记录进行分组,并计算综合,计数,平均值以及其它类型的总计,操作查询不仅可以进行查询,而且可以对一个操作中的对表中的多条记录进行添加、编辑、删除等修改操作。
精心收集
精心编辑
精致阅读
如需请下载!