| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 397 人关注过本帖
标题:请教数据库
只看楼主 加入收藏
youyu
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-5-10
收藏
 问题点数:0 回复次数:1 
请教数据库
假如我给一个变量长度为 CHAR 5
结果我JAVA输入时长度大于5
那么会怎么样呢 抛出SQLException 还是中断程序啊

是所有的类似这样的错误都这么处理的么
搜索更多相关主题的帖子: 数据库 
2007-06-26 07:48
神vLinux飘飘x
Rank: 2
等 级:新手上路
威 望:3
帖 子:436
专家分:0
注 册:2007-1-4
收藏
得分:0 
你不会自己尝试一下啊...

一般这样的错误我都是交:给前台去实现的,因为输入长度不能超过某个数字,比如说密码长度为16位以下,那么一旦发生长度错误,需要来进行修正的还是用户本人,所以应该丢到前台去完成,在前台就应该传递一个正确的值下来。

但是,为了程序的健壮性,因为也要考虑到软件模块重用--后台下次可能用到别的前台,或者说遇到刁蛮的用户绕开前台认证,这个时候就必须对SQLException进行捕获。
这时,你有三种方法阻止这样的事情发生:

1.在调用数据库参数方法中写上参数检查的代码,
public User getUser( String username ) {
// check your username's length
// do stuff
}
这样的方法的好处是硬编码,对于程序员来说是一件非常灵活的好事。
但是对于数据库开发人员和系统调试人员来说就是一件痛苦的事情了,因为如果数据库的字段一旦发生更改,比如说接收的长度不能是5,而更改成3了,那么你一定还必须要记得同时更改前台和所有与该字段相关的数据库操作方法。相当的麻烦。

2.捕获SQLException异常,这个没什么好说的。

3.给你的对象建类,比如说客户,你就建立一个客户类
public class User {
private String username;
public void setUsername( String username ) {
//在这里对username进行检查,如果出现错误则在此处抛出
}
}

讲了那么多,只是希望你能够择优选择。一般我是推荐用前台+后台第3种方法。但是程序就是要灵活,没有什么固定的套数,也有可能出现4、5、6种方法,一切都是靠你自己摸索了。

以上是我的个人经验,随便说说
2007-06-26 09:02
快速回复:请教数据库
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020900 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved