#
<input type = "button" class = "myBtn" name="selectbtn" value = "选定" onClick="selectgoods_on2()" >
setBtnDisable(myform.selectbtn);
setBtnEnable(myform.selectbtn);
function setBtnDisable(obj){
obj.setExpression("disabled", "true");
}
function setBtnEnable(obj){
obj.setExpression("disabled", "false");
}
parseFloat 转换成浮点数
parseInt 转换成整数.
这两个函数都有些容错性的,比如"123abc"会变成123.
如果楼主希望更准确一些,其实可以判断一下,然后用eval,像这样
不过也可以使用这样的方法:
var a = "234" ;
a = a.replace(/(^[\\s]*)|([\\s]*$)/g, "");
if( a !="" && !isNaN( a ) )
{//如果是数字
a = eval( a )
}
else
{//如果不是数字
a = null
}
javascript有两种数据类型的转换方法:一种是将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换),另一种方法是从一个值中提取另一种类型的值,并完成转换工作。
基本数据类型转换的三种方法:
1.转换为字符型:String(); 例:String(678)的结果为"678"
2.转换为数值型:Number(); 例:Number("678")的结果为678
3.转换为布尔型:Boolean(); 例:Boolean("aaa")的结果为true
从一个值中提取另一种类型的值的方法:
1.提取字符串中的整数:parseInt(); 例:parseInt("123zhang")的结果为123
2.提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.55zhang")的结果为0.55
3.执行用字符串表示的一段javascript代码:eval(); 例:zhang=eval("1+1")的结果zhang=2
错误:
Exception in thread "main" javax.naming.CommunicationException: Could not obtain connection to any of these urls: 192.168.17.105:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server /192.168.17.105:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server /192.168.17.105:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]]
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1725)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:689)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at test.Client.main(Client.java:29)
处理:
在本文中将编写一个简单的无状态SessionBean。在发布EJB时,一般需要将EJB程序以jar文件的形式进行发布。这些jar文件将被放在<JBoss安装目录>\server\default\deploy目录中。如果在Eclipse中开发EJB程序,需要进行一些配置。首选需要在首选项(Preferences)对话框中设置JBoss的安装目录(如D:\jboss5)。然后在运行配置对话框中添加jboss的运行项。在jboss4.2及以后的版本中,默认情况下jboss只接收来自localhost或127.0.0.1的请求,也就是只接收本地的访问。为了使jboss接收来自其他地址的请求,在启动jboss时需要使用-b命令行参数进行设置。如下面的启动命令所示:
run.bat -b 200.200.200.123
run.bat -b 0.0.0.0
上面的第一行命令表示jboss可以接收来自200.200.200.123的请求。第二条命令表示jboss可以接收来自任意地址的请求。如果不设置-b参数,以非本机方式访问EJB时,JBoss会抛出如上异常:
有些时候,我们会遇到版本不匹配的问题。如: bad class file: /usr/java/jdk1.5.0_06/jre/lib/rt.jar(java/lang/Object.class)class file has wrong version 49.0, should be 48.0Please remove or make sure it appears in the correct subdirectory of the classpath.这是因为编译环境和运行环境的不一致造成的,比如tomcat5.5和jdk1.5配合的时候,可能就会出现。解决这个问题的方法:copy jdk1.5的lib/tools.jar到tomcat5.5的common/lib/tools.jar,覆盖掉原有文件就可以了。
Unsupported major.minor version 49.0
电脑中装了很多JDK的版本,Eclipse中也分别有JDK1.4,JRE1.5,JRE1.6的Project,不同的项目需要经常切换JDK版本,执行某工程的时候突然出现“Unsupported major.minor version 49.0”的错误。
出现这样错误的原因是JDK1.5下编译的东西被放到了JDK1.4下执行。
Eclipse中修改方法:
「Window」->「Preferences」->「Java」->「Compiler」->「JDK Compliance level」->「1.4」改成1.4就OK了。
错误:class file has wrong version 49.0, should be 48.0也有可能是这个原因,我就活活被整了三天!
错误提示:The type ThreadLocal is not generic; it cannot be parameterized with arguments <Session>
另外每个项目下的“JRE System Library[jdk1.4.2]"如果你看到这个JDK版本跟你不配,那么你就需要在类库右击:configure->edit library更改你的JRE了,因为JDK1。5以上有的新东东,1.4.5没有,所以就报这个错啦。
同一台机器运行多个JBoss[JBoss版本为4.2.3],配置如下:
Step 1. 修改JBOSS_HOME/server/default/conf/jboss-service.xml
查找到:mbean - ServiceBindingManager,将其注释去掉
Step 2. 修改JBOSS_HOME/docs/examples/binding-manager/sample-bindings.xml中ports-01端口,避免出现 port 冲突的问题
Step 3. 修改JBOSS_HOME/server/default/deploy/jboss-web.deployer/server.xml中的端口
修改 HTTP/1.1 Connector port
修改 AJP 1.3 Connector port
Step 4. 修改JBOSS_HOME/server/default/deploy/jms/uil2-service.xml
修改 ServerBindPort
这样即可在同一机器跑多个JBoss,以上第三步的AJP以及第四步可能项目没有涉及到,没有修改亦可...
JBoss官方文档如下连接:
http://www.jboss.org/community/docs/DOC-9384
出现错误:
2006-04-21 17:19:19,796 ERROR [org.jboss.web.WebService] Starting failed jboss:service=WebService
java.net.BindException: Address already in use: JVM_Bind
解决办法:
修改 \jboss-4.0.4.GA\server\default\conf 目录下的jboss-services.xml内的org.jboss.naming.NamingService里面的俩个port,确保没有冲突。
经验证主要有以下几个地方需要改动,用来避免启动时的地址已经被绑定的异常。
环境:JBoss 4.2.2GA,JDK 1.5
1. $JBoss_home/server/default/deploy/ejb3.deployer/META-INF/jboss-service.xml
修改3873端口的值;
2. $JBoss_home/server/default/deploy/jboss-web.deployer/server.xml
修改8080,8009,8443端口值。
3. $JBoss_home/server/default/conf/jboss-service.xml
修改8083,1098,1099,4444,4445,4446端口值
4. $JBoss_home/server/default/conf/jboss-minimal.xml
修改1099端口值,与3中保持一致。
5. $JBoss_home/server/default/deploy/jms/uil2-service.xml
修改8093端口值。
--禁用某个表上的所有触发器
ALTER TABLE 你的表 DISABLE TRIGGER all
--启用某个表上的所有触发器
ALTER TABLE 你的表 enable TRIGGER all
--禁用所有表上的所有触发器
exec sp_msforeachtable 'ALTER TABLE ? DISABLE TRIGGER all'
--启用所有表上的所有触发器
exec sp_msforeachtable 'ALTER TABLE ? enable TRIGGER all'
忙忙停停花了两天时间弄出来的,这这里与大家共享,这个存储过程实现后,大伙就不用重复劳动啊!
表1
bill
0001
0002
0003
....
要根据表1得出结算如0001,0002,0003,......
declare @num int,
@sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)
--如何将exec执行结果放入变量中?
declare @num int,
@sqls nvarchar(4000)
set @sqls='select @a=count(*) from t_paystock_h '
exec sp_executesql @sqls,N'@a int output',@num output
select @num
alter procedure usp_Tolineout
@table varchar(50),
@wherebill varchar(20),
@orderbill varchar(20),
@count_bill varchar(20),
@bill_value varchar(20),
@print_bill varchar(1000)
as--Author fly
begin
-- @table 表名 @wherebill 查询条件字段 @orderbill 排序字段 @count_bill 要统计的单号,也是要产生字符串的字段,@bill_value 单据号,@print_bill 得出的结果写入哪个字段
declare @cw_count int
declare @i int
declare @sql nvarchar(4000),
@sql2 nvarchar(4000),
@str_bill nvarchar(4000)
set @i=1
set @cw_count=1
set @sql = N'select @count = count(distinct '+@count_bill+') from '+@table+' where '+@wherebill+'='+''''+@bill_value+''''+''
exec sp_executesql @sql,N'@count int output',@cw_count output
while (@i<=@cw_count)
begin
set @sql2 = N'select top 1 @strbill=isnull(convert(varchar(100),@strbill),'''')+case isnull(@strbill,'''') when '''' then '''' else '','' end +convert(varchar(30),'+@count_bill+') from
(select top '+convert(varchar(10),@i,126)+' '+@count_bill+','+@wherebill+' from '+@table+' where bill='''+@bill_value+''' order by '+@orderbill+' desc) a
where '+@wherebill+'='''+@bill_value+''' order by '+@orderbill+' asc'
exec sp_executesql @sql2,N'@strbill varchar(500) output',@str_bill output
set @i=@i+1
end /***/
print '结果为:'+@str_bill
end
网上转载一例:
create table tb(truename varchar(20),shuxue int,yuwen int,yinyu int)
insert tb select
'张三', 100 ,80, 80 union all select
'李四', 90 ,90 ,60 union all select
'王五', 59, 80 ,44
select truename,fz=shuxue+yuwen+yinyu ,1 as id into #t
from tb
declare @s varchar(4000)
select @s=isnull(@s+',','')+'max(case when truename='''+truename+''' then fz else 0 end) ['+truename+']'
from #t
set @s='select id,'+@s+' from #t group by id'
exec(@s)
id 张三 李四 王五
----------- ----------- ----------- -----------
1 260 240 183
(1 行受影响)
drop table tb
drop table #t
JavaScript中indexOf函数方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。
indexOf函数是从左向右执行查找。否则,该方法与 lastIndexOf 相同。
下面的示例说明了indexOf函数方法的用法。
function IndexDemo(str2){
var str1 = "BABEBIBOBUBABEBIBOBU"
1.HTTP请求格式:
<request line>
<headers>
<blank line>
[<request-body>]
在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再此之后可以添加任意的其他数据[称之为主体(body)]。
2.GET与POST区别
HTTP定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST.
HTTP-GET和HTTP-POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,并且使用相关的请求语义。每个HTTP-GET和HTTP-POST都由一系列HTTP请求头组成,这些请求头定义了客户端从服务器请求了什么,而响应则是由一系列HTTP应答头和应答数据组成,如果请求成功则返回应答。
HTTP-GET以使用MIME类型application/x-www-form-urlencoded的urlencoded文本的格式传递参数。Urlencoding是一种字符编码,保证被传送的参数由遵循规范的文本组成,例如一个空格的编码是"%20"。附加参数还能被认为是一个查询字符串。
与HTTP-GET类似,HTTP-POST参数也是被URL编码的。然而,变量名/变量值不作为URL的一部分被传送,而是放在实际的HTTP请求消息内部被传送。
(1)get是从服务器上获取数据,post是向服务器传送数据。
(1) 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。
(2) 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
(2) GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
(3) 安全性问题。正如在(1)中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。
注:所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。换句话说,GET 请求一般不应产生副作用。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。POST 请求就不那么轻松了。POST 表示可能改变服务器上的资源的请求。仍然以新闻站点为例,读者对文章的注解应该通过 POST 请求实现,因为在注解提交之后站点已经不同了(比方说文章下面出现一条注解)。
下面举一个简单的例子来说明它们的区别:
<!-分别通过get和post方式提交表单-->
<FORM ACTION="getpost.asp" METHOD="get">
<INPUT TYPE="text" NAME="Text" VALUE="http://wxf0701.cnblogs.com//>
<INPUT TYPE="submit" VALUE="Get方式"></INPUT>
</FORM>
<BR>
<FORM ACTION="getpost.asp" METHOD="post">
<INPUT TYPE="text" NAME="Text" VALUE="http://wxf0701.cnblogs.com/>
<INPUT TYPE="submit" VALUE="Post方式"></INPUT>
</FORM>
<BR>
<% If Request.QueryString("Text") <> "" Then %>
通过get方式传递的字符串是: "<B><%= Request.QueryString("Text") %></B>"<BR>
<% End If %>
<% If Request.Form("Text") <> "" Then %>
通过Post方式传递的字符串是: "<B><%= Request.Form("Text") %></B>"<BR>
<% End If %>
begin
leftHeight:=800; //定义变量,指定当空余空间高度大于这个值时就输出空行
While (FreeSpace>leftHeight) do
Begin
ShowBand(Child1); // 输出空行Band
End
end
说明:Child1设置子栏为空
在注脚属性栏填上:onbeforeprint写入前面的脚本