`

开发手记

阅读更多
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"/>


分享到:
评论

相关推荐

    Android开发手记一_NDK编程实例

    ### Android开发手记一_NDK编程实例 #### 一、开发环境的搭建 在开始具体的NDK编程之前,首先需要确保开发环境已经被正确地搭建起来。对于初次接触Android NDK开发的朋友来说,拥有一个良好的环境配置是至关重要的...

    网页开发手记:486个JavaScript网页特效详解_光盘源文件

    本资料“网页开发手记:486个JavaScript网页特效详解”正是针对这一主题进行深入探讨的资源,包含了大量实用的JavaScript特效代码实例。 首先,我们要理解JavaScript的基本概念。JavaScript是一种解释型的、基于...

    网页开发手记 htmlcss js

    开发网页看 网页开发手记 htmlcss js 大家可以看看

    《网页开发手记:HTML+CSS+JavaScript实战详解》

    在《网页开发手记》中,你将学习到JavaScript的基础语法,包括变量、数据类型、运算符、流程控制和函数等。进一步,你将接触到DOM(Document Object Model)操作,通过JavaScript改变网页内容和结构。此外,还会涉及...

    网页开发手记.HTML.CSS.JavaScript实战详解

    《网页开发手记--实战详解》由叶青、孙亚南、孙泽军编著,笔者将网页制作技术粗略划分为前台浏览器端技术和后台服务器端技术。本书主要学习前台浏览器端技术,也就是静态页面制作技术。早期只需要使用HTML即可单独...

    同人游戏开发手记-附件(2.3.2)

    同人游戏开发手记-附件(2.2.2-2.2.6) 具体说明见我的博客(http://blog.csdn.net/fosly) 一如既往的骗5个积分, 积分不够的请留个Email, C屌相信总会有不缺分儿的人出现的, 所以坚决不免分

    网页开发手记htmlcssjavascript实战详解

    网页开发手记htmlcssjavascript实战详解 电子工业出版社 叶青 孙亚南 孙泽军编著

    网页开发手记 HTML

    一本描述网页开发的书,很全,希望大家能喜欢

    JavaEye3.0开发手记

    ### JavaEye3.0开发手记之开发环境搭建详解 #### 一、开发环境搭建概述 随着JavaEye3.0开发计划的启动,本篇文章将详细介绍如何为该项目搭建高效的开发环境。开发过程中不仅需要考虑软件的选择,还需要针对操作...

    Docbook开发手记 v1.2

    ### Docbook开发手记 v1.2 知识点概览 #### 一、Docbook简介 - **1.1 Docbook出现的背景** - Docbook 的出现是为了满足技术文档编写的需求,尤其是在软件开发领域。传统的文档撰写方式通常依赖于特定的排版系统...

    同人游戏开发手记-附件(2.2.2-2.2.6)

    本资料集“同人游戏开发手记-附件(2.2.2-2.2.6)”包含了五个关键章节,分别涉及游戏开发的不同方面,为有志于同人游戏制作的开发者提供了宝贵的学习资源。 首先,章节2.2.2可能涵盖了游戏设计的基础知识,包括游戏...

    WM今日插件开发手记

    《WM今日插件开发手记》是一篇关于插件开发的博客文章,作者分享了在Windows Mobile(WM)平台上开发工具栏插件的经验和心得。虽然原始描述为空,但我们可以根据标题和提供的文件名来推测文章可能涉及的内容。 首先...

    Android开发手记--环境配置[收集].pdf

    Android 开发手记 -- 环境配置 Android 开发手记是基于 Linux 内核的手机系统,使用 MyEclipse + Windows XP 作为开发工具,当然在 Linux 下开发是更好的选择。以下是 Android 开发环境配置的步骤: 第一步:下载 ...

    Android开发手记--环境配置.pdf

    这篇“Android开发手记--环境配置”主要介绍了如何在Windows XP环境下,利用MyEclipse进行Android开发的初始设置。 首先,你需要下载Android SDK。SDK(Software Development Kit)是Android开发的基础,包含了开发...

    Jfreechart开发手记(一)

    ### JFreeChart 开发手记(一):完整柱状图及数据下钻实现方法 #### 1. 概述 本文档旨在介绍如何利用开源图表库 JFreeChart 制作一个完整的柱状图,并实现商业智能 (BI) 软件中常见的“数据下钻”功能。通过本...

    Wicket 1.4 开发手记(一) helloworld与环境配置

    ### Wicket 1.4 开发手记:Hello World与环境配置 #### 一、引言 在《Wicket 1.4 开发手记》系列的第一篇文章中,作者Steel.Ma分享了他对Wicket框架的一些见解,特别是针对Wicket 1.4版本的入门级介绍。文章首先对...

    iReport&JasperReport;开发手记(一)+List报表开发与发布.pdf

    ### iReport & JasperReport 开发手记:List报表开发与发布 #### 1. 概述 在B/S架构的应用程序开发中,报表处理一直是开发者面临的重要问题之一。早期的解决方案通常包括生成CSV等文件供用户下载后再进行编辑,...

    原创:iReport&JasperReport开发手记(一) List报表开发与发布

    ### iReport & JasperReport 开发手记:List报表开发与发布 #### 1. 概述 在B/S架构的应用程序开发中,报表处理一直是重要的组成部分。传统的处理方式包括生成CSV文件供用户下载后再行编辑,这种方式不仅效率低下...

    Wicket1.4开发手记(四)[借鉴].pdf

    《Wicket 1.4 开发手记:构建Ajax级联选择框》 在Web开发领域,Apache Wicket是一个强大的Java框架,它以其组件化和模型-视图-控制器(MVC)架构著称。本篇开发手记将聚焦于使用Wicket 1.4版本创建一个基于Ajax的...

Global site tag (gtag.js) - Google Analytics