JSPCN主页
|
JSP空间
|
网站制作
|
JSP下载
|
JSP论坛
|
JSP教程
|
关于JSPCN
|
联系我们
做最专业的JSP中文网站
当前位置
:
首页
--
JAVA技术
--
Java API
文章搜索:
关键字
标题
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器
JSPCN文章目录分类
JSP配置
[
219
]
JSP基础
[
136
]
中文问题
[
69
]
上传问题
[
27
]
JAVABEAN
[
46
]
数据库
[
212
]
文件操作
[
126
]
图片声音
[
17
]
JSP其他
[
57
]
时间相关
[
16
]
JAVAMAIL
[
72
]
STRUTS
[
144
]
开发工具
[
28
]
教程系列
[
157
]
JSP实例
[
89
]
JAVA基础
[
421
]
APPLET
[
78
]
JAVA网络
[
179
]
Applica
[
115
]
Servlet
[
98
]
XML
[
163
]
J2ME
[
257
]
J2EE
[
374
]
考试相关
[
63
]
JAVA线程
[
90
]
EJB
[
261
]
Swing
[
26
]
Java API
[
141
]
声音图片
[
28
]
异常处理
[
33
]
JAVA实例
[
290
]
JAVA类
[
139
]
SUN
[
89
]
Hibernate
[
6
]
JMX
[
8
]
Spring
[
34
]
本版推荐文章
Java与C/C++的区别
java中有关日期的显示问题
JAVA专业术语集
Java编程小技巧集锦
用java 实现 http 的断点续传
给Java程序穿花衣
关于java的Classpath全解java入门
JavaDoc用法
Java的秘密:将应用程序的设定存在哪里?
用JAVA编写自己的机器人,然后一起“厮杀” cyma...
用JAVA编写自己的机器人,然后一起“厮杀” cyma...
签名一个使用插件1.3版的Java小程序
使用Java连接处于proxy(or防火墙)之外的HTTP服...
Java做一个最简单的通话程序
如何学习java
最大化JAVA代码的可重用性
第二届JavaOne日本开发者大会上显示全球开发商采用Jav...
Forte for Java IDE赢得JavaWorld"...
采用 Javadoc 形式的集成文档有利有弊
Java打印程序设计
本版热点文章
JAVA API 中的包
JavaDoc命令使用说明
Java Servlet API说明文档(2.1a版)(一)
利用JAVA API函数实现数据的压缩与解压缩
Java来抢饭碗,C++可别生气
Java Servlet API说明文档(2.1a版)(三)
Java Servlet API说明文档(2.1a版)(二)
Java Servlet API说明文档(2.1a版)(四)
Java Servlet基本方法介绍 Java Servle...
Java Transaction API概述
Java技巧:使用Runtime.exec重定向本地程序调用
Java打印程序设计
JavaDoc用法
Java新特性--Java Web Start
使用Game API函数制作二维动作游戏
Base64编码的Java语言实现
Java入门(9) JAVA与GUI
Java入门(4) 第一个Java程序
Java NIO原理和使用
构建用于正则表达式的抽象 Java API
相关文章链接
MySQL实施JDBC 2.0/3.0 API的新特性学习实践
作者: 文章来源:
访问次数:264次 加入时间:2007年01月26日
--在JSP+MySql+Resin+win2000环境下实施网络程序开发笔记
2002年10月3日,晴
[序] 昨天一天都没有调试出上传图像到数据库中的程序,虽然查了CSDN,但所查资料都不好使。今天想起了几个关键点没有仔细的试到,主要是JDBC API新功能到底对MySql有没有作用,如果不行,为什么MySQL Driver包中的ResultSet类中有新的API方法?另外,upload包的几个类对添加图像到数据库中到底行不行。不管行还是不行,我得再仔细试一下。因昨天曾测试通过了JDBC API新的更新方法,所以计划今天先调试上传图像到数据库中程序,经过一小段时间的调试,终于通过,调用图像显示程序一试,图像出来了,试试jpg格式的图像,也成功了,真是大快人心。数据库保存图像功能调试成功为我调试JDBC API新的插入功能增加了信心,几经周折也成功了,为了记住这一过程,我想想还是写下来。
原定目标:通过网络,把客户端的gif或jpg图像文件存到服务器端的MySQL数据库中。
设计思路:做一个供客户使用的表单,客户通过该表单可查找客户端的图像文件,并提取该文件的文件名于表单输入框中。客户提交表单后,将激活服务器端的insertpic.jsp,通过insertpic.jsp保存图像文件的数据到数据库中。
在实施过程中又遇到和攻克了新的难题:JDBC新的API插入、更新、删除指令如何使用;upload包如何使用,学习和演示了《Java Servlets编程指南》上提供的连接池,图像显示程序。
具体编程思路、遇到的问题,小结:
1、数据库表名:javadoc;保存图像数据的字段用Blob或MediumBlob或LongBlob类型的。
建立数据表的SQL语句如下:
SQL = "CREATE TABLE javadoc (" +
"gid int(11) NOT NULL auto_increment," +
"gheading varchar(100)," +
"gimage longblob," +
"PRIMARY KEY (gid))";
2、表单上的查找并提取图像文件名的输入框用下面的语句实现:
图像
3、表单的
要加入下面的属性和属性值:
enctype="multipart/form-data"
加入该属性后,该表单就不能再同时作为传输其他数据字段的表单了,如不能再传送串字段。
4、启用upload包,内含File.class、Files.class、Request.class、SmartUpload.class、SmartUploadException.class,来协助保存图像,以降低开发难度。
几个类的原代码见相关文件,File类公用方法已粘在相关的jsp文件中。
5、JDBC新的API插入、更新、删除功能,具体步骤如下:
插入一个记录的步骤:
(1)准备一个空记录:MoveToInsertRow();
(2)填入数据:updateXXX();
(3)实施插入:insertRow();
更新一个记录步骤:
(1)定位记录:用absolute()或relative()等方法;
(2)填入新值:updateXXX();
(3)实施更新:updateRow();
删除一个记录的步骤:
(1)定位记录:用absolute()或relative()等方法;
(2)实施删除:deleteRow();
6、插入数据遇到的问题:我在保存图像的表中设计了一个自动增量的gid字段,并定义为NOT NULL。在通常用SQL语句插入新值的情况下,可以忽略对该字段插值,数据库会自动赋值。但在使用JDBC API插入记录的过程中发现,对该字段不能不管,必须调用rs.updateLong("gid" ..)赋值,否则系统会出现异常。我也想到并试过申请一个不包含该字段的游标,然后对该游标执行上面的几个插入记录的步骤,但也出现异常。另外,我的表中还有一个gheading的字段,该字段缺省值没定义,建立一个不包含该字段的游标然后执行插入新记录的操作是可以通过的,即执行插入操作对gheading这类字段可以忽略不用管它。由此我推断,只要是被说明为NOT NULL的字段,你在使用JDBC新的API进行插入记录编程时不能忽略它,必须要显式的赋值,否则系统会出现异常。
7、对自动增量的字段在进行插入记录编程时如何为其赋新值?
我的方案是这样:
(1)使用select * form tablename order by gid 申请游标,其中gid为自动增量并不能为NULL的字段,为了简单,假设该游标不会为空;
(2)对游标last()一下,到游标的底部;
(3)取gid字段的值赋给一个临时变量mid;
(4)mid++;
(5)对gid字段实行 updateLong("gid",mid);
...
8、对自动增量的字段插入记录编程按上述步骤赋新值还要考虑的问题?
我认为要考虑为记录上锁,否则仍有出现异常的潜在问题。
今天就到此为止吧。(飒龙)
Copyright © 2002-2005
JSP
CN.net. All rights reserved.
JSP中文网 备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司 成都市一环路南二段6号新瑞楼三楼8号