2011年暑假数据库大作业工作日志

.LOG


22:12 2011-8-16
配置好tomcat。其实只要设置好jdk的系统变量就好了。我是按照下面的指示做的


1.安装结束后,进入您的JDK安装目录,复制其它路径(如: E:\Programe Files\j2sdk1.4.2)


  2.右击“我的电脑”,“属性”,“高级”,“环境变量”,增加一个系统变量,名称:JAVA_HOME 值:上面要求复制的JDK安装目录(我的是: E:\Program Files\j2sdk1.4.2_04),确定


  3.修改“系统变量path”在其后加一值: 为JDK安装目录下的bin目录,(如: E:\Program Files\j2sdk1.4.2_04\bin),确定


  4.在增加一个系统环境变量,变量名:classpath。变量值:为JDK安装目录下的lib目录下的dt.jar和tools.jar,中间用分号隔开。.;E:\Program Files\j2sdk1.4.2_04\lib\dt.jar; E:\Program Files\j2sdk1.4.2_04\lib\tools.jar,在这里需要注意的是变量参数中的最开始加如.;(英文状态下的点,分号),之后在加入dt.jar,tool.jar文件及起路径。加入.;表示当前路径。




23:52 2011-8-17
mysql版本:5.1.57
1:31 2011-8-18
从myeclipse转换到eclipse,终于是显示找到了驱动了……示意如下,另外的问题明早解决吧
now begin.
Loaded.
error-->Access denied for user ''@'localhost' (using password: NO)
说明:按照网络上驱动的设置方法,也就是在classpath中添加路径,在eclipse中就可以了,并且找不到传说中的:“在项目名上右键,单击“属性”,再在选择Libraries,导入外部Jar即可”,找不到Libraries。这个再说。myeclipse太复杂了,不知怎么办。


9:46 2011-8-18
用eclipse连接并执行sql语句成功,代码如下:


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class SimpleDb {
public static void main(String[] args)
{
try{
System.out.print("now begin.\n");
Class.forName("com.mysql.jdbc.Driver");//加载驱动
System.out.print("Loaded.\n");
Connection connection = DriverManager.getConnection(//连接数据库
"jdbc:mysql://localhost/people_source","root","123");
System.out.print("connected.\n");
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(//用statement执行sql语句
"select * from employee where emp_id=1");
while(resultSet.next()){
System.out.print(resultSet.getString(1)+ "\t" 
+ resultSet.getString(2) + "\t"
+ resultSet.getString(3) + "\n");
}
}
catch(Exception e){
System.out.print("error-->" + e.getMessage() + "\n");
}

}


}


15:01 2011-8-18
接下来,为表命名,建立表,分配页面。


17:31 2011-8-18
终于是把字段说明书写好了,虽然说这项工作很可能是吃力不讨好,但总觉得不完成的话不爽。


21:45 2011-8-18
开始在mysql中建立表。
不知怎么建立check约束,所以现在先不建立这个约束。
遇到错误:errno121.后来查明是因为外键名字重复了。在设置外键的时候name那一项不要填,软件自动帮你生成。还没验证这样做行不行。
现建立了三张表,试了一下,外键约束成功。那个自动生成的外键的name不知何用,在sql语句中没有体现出来。
共建立了7张表了。眼睛睁不开,睡觉。
11:12 2011-8-19
全部表弄好,希望能够在别的电脑上打开
16:38 2011-8-19
16:43  见到我的第一个测试页面。接下来是测试、熟悉jsp。特别是在jsp中使用bean,使用session变量。
17:39 2011-8-19
发现将自定义类放在默认包里面的话在jsp中使用不用事先加载包。不知是好事还是坏事
18:11 2011-8-19
在使用bean的时候出现了一下编译通过一下编译不过的问题。电脑快烧坏了,休息,查书
21:13 2011-8-19
关于在jsp中只用javaBeans的书上的说法:
1、jsp允许在不同的网页中共享一个对象,为了确保对象可以共享,对象所属的类必须是javabeans组建。
2、要创建javabeans组建的实例,使用下列语法结构:
<jspL:useBean id = "objectName" scope="scopeAttribute" class="className"/>
处理这条指令的时候,jsp会先查找具有相同id和scope的class对象,找到的话,便使用这个对象,找不到则创建新对象。
22:03 2011-8-19
可能是因为myeclipse的目录设置跟tomcat不一样,直接在tomcat的目录下建立项目出现麻烦,这花了我好多时间
出错原因:myeclipse的目录结构为\WebRoot目录下为jsp文件和WEB-INF文件夹。而tomcat的目录结构为\WebRoot下为jsp文件,WEB-INF与WebRoot在同一级层次。本来想在myeclipse中改变项目的目录层次,但是改了之后只是显示的样子改变了,在实际中还是没有改变。网上查了之后用myeclipse配置tomcat服务器,然后从myeclipse中启动tomcat,每次修改之后重新部署。成功。详情:谷歌-重新部署  tomcat class
0:12 2011-8-20
连接测试成功。在两个jsp界面中使用同一个bean的实例,第一个页面建立数据库连接,第二个页面没有建立连接,使用bean在第二个页面可以访问数据库内容。这就引发两个要注意的点:
1、在scope属性中的设置。有四个可能值,application,session,page,request。一般来说,是使用session。所以要弄明白tomcat在什么情况下将一个访问定义为一个session。
2、既然实例可以共享,且是通过变量名来判断是不是同一个实例,那么就必须在事先统一好要用到的类的实例。所以定义好一个建立数据库连接的类非常重要——建立连接、提供操作数据库所需的变量(如ResultSet,Statement)。那么这个类就今晚来做吧。
1:05 2011/8/20
类做好。其实能做的也没什么,就是连接,然后提供连接和statement变量而已。
然后!字符编码问题似乎出现了!就是有些字段显示不了。发给住一周看一下。
10:15 2011-8-20
开始编写类,添加函数,用于将指定的表整张用html语言输出来。
11:01 2011-8-20
成功完成输出整张表功能,同时解决了字段显示不了的问题,猜想如下:由于默认编码为gbk,对于字段类型为varchar的,如果之输入一个英文字母,则只占据一个字节,而中文字符(不知道是不是所有的gbk字符都这样)要占据两个字节。所以,只要字段长度大于两个英文字母,就可以输出了。经过测试,输入单个中文字符没问题。
15:38 2011-8-20
确定了目标,做经理线。一天时间完成。希望别出差错。
18:38 2011-8-20
完成身份认证页面,在页面中使用了session变量,里面传入了user变量。
同时修改了connector类,添加了一个函数,用于执行sql语句。需要注意的是返回rs之前有一句rs.next();在编程的时候必须特别注意这一点。说
18:42 2011-8-20
对于rs.next();的解释:因为rs.next()是指游标每次像下移动一行 在关闭 ResultSet 之前都是继续有效的 当第一次rs.next()的时候 游标位置在表的最上方 也就是说处于一个空的位置 但是如果没有rs.next(),游标的位置为空 所以rs.getString("xxx") 不知道是哪个位置。这样的话会引发“java.sql.SQLException: Before start of result set”的错误。
10:22 2011-8-21
有一点要注意:bean的scope全部设置为session
16:15 2011-8-21
在两个jsp页面传递session出现问题,现尝试用bean来实现对象共享。希望不要再有错误
16:59 2011-8-21
恩,还是一样出错,表明两个jsp页面不在同一个session中
17:20 2011-8-21
感觉像是因为点击链接的话是新建一个对话
17:41 2011-8-21
好吧,至少验证了view在数据库中建立之后就可以像数据表一样使用了。在sql语句中相当于一个表
18:17 2011-8-21
事实证明在connector.executeSQL中添加一句rs.next()是不规范的。先改正这个再说。
18:57 2011-8-21
瓦擦的改了connector类之后神奇的可以传递session了。好吧,就这样,帮忙做饭了。
22:38 2011-8-21
打印全部员工资料页面基本搞定。接下来是实现统计信息页面。有难度的说。
22:31 2011-8-22
找到sql中关于日期的计算函数,接下来就是建立视图了。统计信息查询页面已经完成。接下来是改善打印所有人信息页面,然后编写查看单人信息页面。最大头的修改页面……再说。
1:01 2011-8-23
"where 部门=\'" + user.getDepartment()+"\'";
要加单引号,就因为这个花了我好多时间
1:09 2011-8-23
在表格中嵌套链接成功,为个人资料页面奠定基础~~
1:31 2011-8-23
个人信息页面完成,只要将视图base_data定义好就行了
10:51 2011-8-23
早上争取将base_data视图做好
16:47 2011-8-23
将视图建立好。至此,数据库的建立基本完成……(考勤请假管理没去理了- -)
18:10 2011-8-23
个人信息页面完整了。接下来就要面对修改信息页面了。今晚查资料看看怎么弄。
23:09 2011-8-23
"Operation not allowed after ResultSet closed"这个错误真是犀利。然后从csdn上找到答案:有些数据库一个statement只能对应一个resultset,而我使用了两个resultset,这就是原因了。真是无奈的原因。
23:15 2011-8-23
使用两个statement实验成功。
1:04 2011-8-24
出现了没有出错信息但是不能修改数据库内容的情况。sql语句没错,执行方法也没错,网上说这是权限问题、明天拿给住一周试试。
10:54 2011-8-26
期交申请页面完成。之前的错误是因为employee_ID写成了Employee_ID导致得不到参数。改正后又出现了乱码问题,网查了之后在提交修改页面用了request.setCharacterEncoding ("gbk")将请求进行编码,解决了乱码问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值