[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"/>