网上商城学习札记(三)

1、自定义异常:
①、如果是继承RuntimeException,则说明这个异常时可抓获不可抓的!
②、如果是继承Exception,则说明这个异常时必须抓的!

2、当HTML标签中<form>与<table>遇到一起时,应当<table>放置<form>里!

3、如果从网上download的页面作为使用页面时,在启动Server服务器然后再打开页面时,页面打开得很慢!为什么呢?
可能是该页面的链接链到绝对网址上拿东西了!
如果有这种链接呢?该怎么办呢?
①、在MyEclipse中ctrl + F 找HTTP 这个关键字,但是如果HTTP仅仅出现在<a>这个标签中呢?
②、用Dreamweaver打开--->删一部分,用视图看一部分,这样来回检查页面显示的快慢!
为什么要用Dreamweaver删改呢?因为用Dreamweaver可以很清晰观察起止位置,而用代码删,很容易出错!

4、在用MySQL涉及DB时,常将id设计成自动递增的,即auto_increment,而如果我们在增加过程中,用如下的语句:

String sql = "insert into category values (?, ? ,?, ?, ?, ?)" ;
pstmt = DB.getPStmt(conn, sql) ;
pstmt.setInt(1, -1) ; // 此字段是id,是自动递增字段!
pstmt.setString(2, c.getName()) ;
pstmt.setString(3, c.getDescr()) ;
pstmt.setInt(4, c.getPid()) ;
pstmt.setInt(5, c.isLeaf() ? 0 : 1) ;
pstmt.setInt(6, c.getGrade()) ;
pstmt.executeUpdate() ;

在[color=red]insert into category values (?, ? ,?, ?, ?, ?)的id是?
,而在pstmt.setInt(1, -1),也就是说首先将第一个字段设置成-1了!那在DB中auto_increment还起作用吗?([size=x-large]这里的作用是指将-1覆盖成1![/size])[/color]
SQL文件里的语句:

create table category
(
id int primary key auto_increment,
name varchar(255),
descr varchar(255),
pid int,
isleaf int , #0表示leaf 1 表示非leaf
grade int #代表级别, 从1开始
);



[color=blue][size=large]不会起作用了!不会覆盖!可是如果真的遇到这种情况呢?可以参看以下代码:[/size][/color]

PreparedStatement pstmt = null ;
try {
conn = DB.getConn() ;
String sql = "" ;
if(c.getId() == -1){
sql = "insert into category values (null, ? ,?, ?, ?, ?)" ;
}else {
sql = "insert into category values (" + c.getId() + " , ?, ?, ?, ?, ?)" ;
}
pstmt = DB.getPStmt(conn, sql) ;
pstmt.setString(1, c.getName()) ;
pstmt.setString(2, c.getDescr()) ;
pstmt.setInt(3, c.getPid()) ;
pstmt.setInt(4, c.isLeaf() ? 0 : 1) ;
pstmt.setInt(5, c.getGrade()) ;
pstmt.executeUpdate() ;

[color=red][size=large]虽然上面的方法不是很完美,但是还可以![/size][/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值