开发手记

[b]Resultset求行数和列数[/b]

[quote="javaeyes"]在Java中,获得ResultSet的总行数的方法有以下几种。
第一种:利用ResultSet的getRow方法来获得ResultSet的总行数
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);    
ResultSet rset = stmt.executeQuery("select * from yourTableName");
rset.last();
int rowCount = rset.getRow(); //获得ResultSet的总行数


第二种:利用循环ResultSet的元素来获得ResultSet的总行数

ResultSet rset = stmt.executeQuery("select * from yourTableName");    
int rowCount = 0;
while(rset.next()) {
rowCount++;
}

rowCount就是ResultSet的总行数。

第三种:利用sql语句中的count函数获得ResultSet的总行数

ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName");
int rowCount = 0;
if(rset.next()) {
rowCount=rset .getInt("totalCount ");
}

rowCount就是ResultSet的总行数。 [/quote]

[size=medium][b]rs中指针的用法[/b][/size]


//取得结果集
public static ResultSet doSelect(String sql){
conn=getConn();
try {
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
} catch (SQLException e1) {
e1.printStackTrace();
}
return rs;
}
//取得数据记录数
public static int getRsRow(String sql){
int rsRow=0;
rs=doSelect(sql);
try {
rs.last();
rsRow=rs.getRow();
} catch (SQLException e) {
e.printStackTrace();
}
return rsRow;
}

stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
不带参数使用默认值:
createStatement()=createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY)
1.TYPE_FORWORD_ONLY,只可向前滚动;

2.TYPE_SCROLL_INSENSITIVE,双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。

3.TYPE_SCROLL_SENSITIVE,双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据。


[b]如何在Javascript中使用JSP语句?[/b]
Javascript的语句体放在<%     %>标记对中就可以使用了。如   
<script language=javascript>
function show(arg) {
<% String hello="hello world!";%>
if(arg==1) {
alert("<%=hello%>");
}
}
</script>
象这里的hello就是JSP的变量,可以在JS中使用。



查看sql执行的条数,计算select查询出来的条数,查询数据条数

select count(*) from (SELECT * FROM kk.kkhmd)

这样的结果就显示kk.kkhmd表中的记录数,而不是把数据全部查出来

COUNT(*)
----------
51



[size=medium][b]三目运算符[/b][/size]
 [quote]<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值; 如果表达式1 的值为假, 则求表达式3 的值并把它作为整个表达式的值.[/quote]

[size=medium][b]window.onload[/b][/size]

[quote]
<html>

<head>

<title></title>
<script type="text/javascript">
window.onload=function chagep(){//页面加载时即加载此函数
alert("a");//弹出对话框
document.location.href="b.htm";//将URL改到b.htm,实现的页面效果是弹出对话框事件后,页面转到b.htm
}
</script>
</head>

<body>
A
</body>

</html>


[/quote]

[b][size=medium]JS中Replace()方法的用法[/size][/b]

[quote]replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。


如:将使用 "W3School" 替换字符串中的 "Microsoft":


<script type="text/javascript">

var str="Visit Microsoft!"
document.write(str.replace(/Microsoft/, "W3School"))

</script>
输出
Visit W3School![/quote]

[size=medium][b]document.location.href和document.location.replace[/b][/size]

[quote]document.location.href和document.location.replace都可以实现从A页面切换到B页面,但他们的区别是:

用document.location.href切换后,可以退回到原页面。

而用document.location.replace切换后,不可以通过“后退”退回到原页面。

关于document.location.href或其他可回退的切换方式,我还发现一个细节,

用个例子来说明:

假设有A.htm B.htm C.htm三个页面

A.htm里有这样一句:document.location.href="b.htm";

b.htm里有这样一句:document.location.href="c.htm";

注意两个都是可回退的切换。


1:当从A切换到B再切换到C时,实际内存中保留了三个页面:A、B、C

2:回退到B时,C页面被清出内存!

3:再次回退,到A页面时,B页面也被清出内存!

4:再次向前(不是用切换而是用向前)转到B页面时,

内存中保留的是A和B

>>>当一个文档被location.replace()替换后,它就会从当前的历史对象中移除了[/quote]


[b][size=large]JavaScript indexOf() 方法[/size][/b]

[quote]indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
indexOf() 方法对大小写敏感!

如果要检索的字符串值没有出现,则该方法返回 -1。

用法:
语法
stringObject.indexOf(searchvalue,fromindex)参数 描述
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。

说明
该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。


在本例中,我们将在 "Hello world!" 字符串内进行不同的检索:

<script type="text/javascript">

var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))

</script>


以上代码的输出:

0
-1
6
[/quote]

[size=large][b]JSP下如何取得站点根目录[/b]?[/size]

request.getRealPath("") 
就是取得你当前运行文件在服务器上的绝对路径.


request.getRealPath("/")
取得当前站点的根目录.



request.getRealPath() 方法现在已经过期,目前推荐使用下面的方法:

request.getSession().getServletContext().getRealPath("");

[code="jsp"] String url=request.getRealPath("/");//取得根目录
String proUrl=url+"WEB-INF\\classes\\Utils\\jdbc.properties";//取得根目录下的jdbc.properties文件的路径
[/code]


[size=medium][b]在按钮中调用JS并实现传值。[/b][/size]
[quote]
基本的按钮:
<input type=”button” value=”注册”/>

加入JS事件:<input type=”button” value=”注册” οnclick=”此处加入JS函数调用名称”/>
<input type=”button” value=”注册”  onclick=”此处加入JS函数调用名称” />



//是否确定删除
<%-- 是否确定删除--%>
<script type="text/javascript">
function deleteForm(id){
if(confirm("确定删除此条公告吗?")){
window.location.href="delBsNotice.do?id="+id;
}
}
</script>


相关知识:
[quote]Window.location.href
Location.href 最常用的属性之一,用于获得或设置窗口的URL,类似于document的URL属性
改变该属性的值就可以导航到新的页面,这里加上了JSP中的利用URL进行传值的特性。将Id传向后台进行处理。[/quote][/quote]


[size=medium][b]在连接中调用JS并实现传值?[/b][/size]

[quote]1.在基本的连接中加入JS事件:
基本的按钮:<a href=http://www.gogog.com></a>
加入JS事件:<a href="javascript:deleteForm(3)" >删除</a><br/>

<a href="javascript:deleteForm(3)" >//在body 处加入

//是否确定删除  在head处加入
<%-- 是否确定删除--%>
<script type="text/javascript">
function deleteForm(id){
if(confirm("确定删除此条公告吗?")){
window.location.href="delBsNotice.do?id="+id;
}
}
</script>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>

<%-- 是否确定删除--%>
<script type="text/javascript">
function deleteForm(id){
if(confirm("确定删除吗?")){
window.location.href="delBsNotice.do?id="+id;
}
}
function alter(){
alert("goggo")
}
</script>

<%-- 更改发布状态--%>
<script type="text/javascript">
function checkIssueForm(id,issue){
if(issue==1){
if(confirm("此条公告已发布,要取消此条公告的发布吗?")){
window.location.href="unIssueBsNotice.do?id="+id;

}
}else{
window.location.href="ifIssueBsNotice.do?id="+id;
}
}
</script>

</head>

<body>

<a href="javascript:deleteForm(3)" >删除</a><br/>

<a href="javascript:checkIssueForm(3,2)">修改</a>
</body>
</html>
[/quote]


[size=medium][b]单行文本框控制用户输入的字符数[/b][/size]
对于单行文本框<input type=”text”>和密码框<input type=”password”/>而言,可以利用自身的maxlength属性控制用户输入字符的个数。

<input type="password" name="password" size="21" maxlength="6"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值