文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络网络编程JSP对于JSP中表单数据存储的一种通用方法
精品推荐
特别推荐
·什么是 JSP 技术?
·JSP简介
·JSP数据库操作例程
·新手入门:学习JSP的经典的入门学习资料
·由浅入深学习动态网页制作PHP的编程与应用
·输入汉字自动转为拼音(jsp实现方式)
·经验分享 JSP程序员完全蜕变手册
·JSP实战:JBuilder2005中创建数据库表
·新手入门:JSP基本语法与简单表单处理
·使用技巧:在JSP页面中的应用JavaBean
热点TOP10
·实例解析 在Eclipse3.2上部署JSP全过程
·用JSP构建三层管理信息系统
·JSP读取Text文件
·让我们一起来认识JSP
·用JSP+JavaScript打造二级级联下拉菜单
·什么是 JSP 技术?
·JSP+JDBC(Thin模式)连接Oracle
·Mysql与JSP网页中文乱码问题的解决方案
·三种Web开发主流技术的评价之JSP
·jsp-servlet技术:一篇写的详细的session的好文章

对于JSP中表单数据存储的一种通用方法

日期:2007年10月18日 作者: 查看:[大字体 中字体 小字体]


strSql="SELECT column_name,data_type,data_length,data_precision,data_scale
FROM  v_dbstru a "+"where table_name='"+tablename+"' AND a.column_name
not in (SELECT  b.column_name FROM v_pkey_column b   
where b.table_name=a.table_name)";rs1=Stmt.executeQuery(strSql);
//取非关键字段字段名和数据类型
while(rs1.next()){  
fieldname=rs1.getString("column_name");
Datatype=rs1.getString("data_type");     
sFieldValue=request.getParameter(fieldname.toLowerCase());
//若表单未提交该字段的值,则忽略该字段的处理  
if((sFieldValue!=null)){
//生成insert语句=insSql1+insSql2 即insert into tablename(… 和 values(…
if(OperType.equals("insert")){
insSql1+=fieldname+",";
if(Datatype.equals("DATE")){  
insSql2+= "To_Date('" + sFieldValue + "','YYYY-MM-DD'),";
}
else if(Datatype.equals("VARCHAR2") Datatype.equals("CHAR")){ 
insSql2+="'" + sFieldValue+"',";
}else /*NUMBER,     FLOAT*/ insSql2+= sFieldValue+",";}
//生成update语句=updateSql+whereSql 即update tablename set ... where fieldname=...
if(OperType.equals("update")){  
if(Datatype.equals("DATE")){
updateSql+=fieldname+"=To_Date('" + sFieldValue + "','YYYY-MM-DD'),"; 
}else if(Datatype.equals("VARCHAR2") Datatype.equals("CHAR")){
updateSql+=fieldname+"='" + sFieldValue,1}+"',";
}
else /*NUMBER, FLOAT*/ updateSql+=fieldname+"="+sFieldValue+",";} ))  
rs1.close();

4)生成完整的sql语句并执行

if(OperType.equals("insert"))  
opSql=insSql1.substring(0,insSql1.length()-1)+")"+   
insSql2.substring(0,insSql2.length()-1)+")";
if(OperType.equals("update")) 
opSql=updateSql.substring(0,updateSql.length()-1)+   
" "+whereSql;if(OperType.equals("delete")) opSql="delete FROM "+tablename+" "+whereSql;
//已生成完整的sql语句opSql
try{
sqlnrows=Stmt.executeUpdate(opSql);
} catch(SQLException e){
out.println("SQLException:"+opSql);
}

4、特点

该方法对所有这种直接存储的表单都统一使用本程序,具有通用性,不必对每个表单或每个数据表独立开发相应程序,开发工作量非常少,调用也非常简便。同时,在表结构变动时,不用修改DBdataStore.jsp程序。本程序也可改写为Servelet,调用格式为<Form Name=Frm1 Method=Post Action="DBdataStoreServelet?tablename=table1&OperType=…">。

结束语

在Web应用中,如果表单数据在提交后,还需要服务器后台作进一步的数据校验或处理,则需要采用第二种方法。但很多情况是用户在表单中输入或修改数据,在前台浏览器端使用javascript对数据进行简单校验或处理,然后提交,在后台服务器端不作任何处理,直接将表单提交的数据存储到数据库的一个表中。这时候采用第三种方法非常简便,可以大大减轻开发人员的工作量。

(出处:清风学院


上一页 [1] [2] [3] 




上一篇:轻松了解MySQL数据库中的CONVERT()

下一篇:Photoshop基本手法集合:滤镜的应用
相关文章:
·QQ等级快速升方法
·电脑提速的新方法
·盗QQ号码方法大全
·电脑维修的基本原则和方法
·QQ密码本地破解的原理和方法
·GHOST使用方法(图解)
·关于电信禁路由上网的破解方法
·人生激励:激励的最佳方法
·0X000000该内存不能为read的解决方法
·ATX 电源维修方法
相关软件:

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot