`

开发手记

阅读更多
Resultset求行数和列数

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的总行数。


rs中指针的用法

	//取得结果集
	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中的数据。


如何在Javascript中使用JSP语句?
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



三目运算符
 
引用
<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值; 如果表达式1 的值为假, 则求表达式3 的值并把它作为整个表达式的值.


window.onload

引用
<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>




JS中Replace()方法的用法

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


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


<script type="text/javascript">

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

</script>
输出
Visit W3School!


document.location.href和document.location.replace

引用
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()替换后,它就会从当前的历史对象中移除了



JavaScript indexOf() 方法

引用
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


JSP下如何取得站点根目录

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


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

 

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

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

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




在按钮中调用JS并实现传值。
引用

基本的按钮:
<input type=”button” value=”注册”/>

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


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


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



在连接中调用JS并实现传值?

引用
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>



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

<input type="password" name="password"  size="21" maxlength="6"/>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics