#
		
			
			
			存储过程传参数:
【存储过程】◆传值测试◆
exec usp_testinbill ('itemname=''')
在('')可带条件如
因我写的存储过程测试程序已删除..暂未找到..等时间充裕...会再做笔记.
			
			
		
 
	
		
			
			
			有这样一种情况
表1:
字段1   字段2   字段3
 A       组1      20   
 B       组1      30
 C       组2      40
 D       组1      50
 E       NULL     60
 F       组2      70
 G       NULL     90
现在要实现对组的汇总 非组的也要汇总
结果
 ALL     组1      100
 ALL     组2      110
 E       NULL     60
 G       NULL     90
解答
SELECT 
字段1 = CASE WHEN 字段2 IS NOT NULL THEN 'ALL' ELSE 字段1 END,
字段2,
字段3 = SUM(字段3)
FROM 表1
GROUP BY 
CASE WHEN 字段2 IS NOT NULL THEN 'ALL' ELSE 字段1 END,
字段2
			
			
		
 
	
		
			
			
			
		一:Ajax思路:
   1: send_request('sample1_2.jsp?username='+username);
   2:   http_request = new ActiveXObject("Msxml2.XMLHTTP");
   3:http_request.onreadystatechange = processRequest;
   4:http_request.open("GET", url, true);
    http_request.send(null);
  5:if (http_request.readyState == 4) 
    if (http_request.status == 200)
 说明:alert(http_request.responseText);返回整个页面内容
			
			
		 
	
		
			
			
			  declare @lastmonth datetime,          
          @balance_yymm char(7), --本月年月(如YY-MM)         
          @lastchar   char(7)    --上月年月(如YYMM)      
  set     @lastmonth=dateadd(month,-1,@balance_date)          
  set     @lastchar=convert(char(7),@lastmonth,126)          
  set     @lastchar=left(@lastchar,4)+substring(@lastchar,6,2)   
			
			
		
 
	
		
			
			
			判断语句里是否有数据:
strSql1="select top 10 * from t_message where   begdate < = getdate() and enddate >=getdate()   order by begdate";
rsVector1 = CCommonDAO.select(strSql1,"ESYSDATACON");
if(rsVector1!=null&&!rsVector1.isEmpty()){
   title=new String[rsVector1.size()];
   billman=new String[rsVector1.size()];
   enddate=new String[rsVector1.size()];
   begdate=new String[rsVector1.size()];
   bill=new String[rsVector1.size()];
  for(int j=0;j<rsVector1.size();j++){
     CM1 = (CommonModel)rsVector1.get(j);
     title[j]=CM1.getAttrValue("title");
     billman[j]=CM1.getAttrValue("billman");
     enddate[j]=CM1.getAttrValue("enddate");
  begdate[j]=CM1.getAttrValue("begdate");
  bill[j]=CM1.getAttrValue("bill");
  }
}
计算一个月的最后一天
如算八月的最后一天,那么直接用九月一日减一,再取日期,一切OK.
			
			
		
 
	
		
			
			
			JS里写到
if (itemnum==''){
        continue;
        } 
本人一直以为在当前循环里继续执行,没想到是俺语法理解有误,coutinue在JS里是指跳出当前循环,直接执行下一个语句.
tofloat(itemnum,4):
表示取浮点小数四位小数位.
声明一个字符集
StringBuffer itemnums = new StringBuffer(200); //用来保存主键的StringBuffer
			
			
		
 
	
		
			
			
			今天上午做了个交叉报表,本以为很容易,但弄了一上午才弄完,确实有些晕.
1:固定交叉报表的宽度可让交叉报表在一个页面里显示,但固定页面宽度后,表格的大小也需固定,那么数据有可能显示不全.:
得到专家答复:
你设置了交叉表的MaxWidth属性为1200,那么所有的列都在这个宽度内显示,导致单元格的宽度不够显示你的数据2:交叉报表第一列出现0.00000怎么办啊? 
检查:
     没有空值或者字段值不是0,不可能这样显示的   
     行头字段是不能有空值的,你要把数据集里的行头字段空值的记录去掉,或者用其他字符串代替 
  最终解决,交叉报表的数量栏有些为空值,应该赋空值为零,问题解决.
3:交叉报表的属于设置是拖动鼠标选择字段.(笨笨的俺是把眼睛睁大了在找按钮,死命也找不到,然后又想到右击能否出现菜单,最后才想到直接拖动.
  
			
			
		 
	
		
			
			
			
		最近虽然很忙,但做的东东如果不留点底,肯定又会忘记这些东东了.
最近做了个日库存仓库多选,现把步骤写下:
1:;先在JSP页面写:
<script language = "javascript" 
src="../../findall/find_dayware/js/find_ware.js"></script>
2:在JSP页面调用函数:
  <input  style="width:220" name = "ware_name" type = "input" class = "input2" value=""     onkeydown="keyenter(myform,this)"  nullable="y" datatype='' cname="仓库名称" readonly><img style="cursor:hand" src="../../images/jt002b.gif" onclick =  "find_ware(myform.ware_code,myform.ware_name,myform.addr,myform.waretype)"readonly>
3:进入find_dayware页面
4:JS页面:
function find_ware(code,name,addr,ware_type){
    var url,getfields;
    url="../../findall/find_dayware/find_ware_operation.jsp";
    getfields=openwindow_find(url);
 if(typeof(getfields)!="undefined"){
  if(getfields.length != 0){  
         code.value = getString(getfields,1);
   name.value = getString(getfields,2);
   addr.value = getString(getfields,3);
   ware_type.value = getString(getfields,4);
  }
 }
}
//这就是选定调用函数以"|"区分开.
function sele_all(){
 var is_checked = false;
 var strurl="";
 var strware="";
		 obj_chk=window.parent.record_list_f.document.all("chk");
 if(obj_chk){ 
    if(typeof(obj_chk.length)!="undefined"){ 
      for(inti=0;inti<obj_chk.length;inti++){ 
        if(obj_chk[inti].checked){
    strurl+=getString(obj_chk[inti].value,1);
    strware+=";"+getString(obj_chk[inti].value,2);
		    is_checked = true;
        }
      }       
    }else{
   if(obj_chk.checked){
    strurl+=getString(obj_chk.value,1);
    strware+=getString(obj_chk.value,2);
    is_checked = true;
   }
    }   
    if(is_checked){
     str=strurl+"|"+strware+"|||";
     window.parent.returnValue =str;
              window.parent.close();
              return;
    }
 }
}
这样选定后仓库编码和仓库名称带出来了但需要区分开来,我们仓库编码是二位组成,那么我们需要区分:
if(ware_code.length()>0){
if(ware_code.length()==2){
 sqlwhere+=" and ware_code in('"+ware_code+"')";
}else{
 for(int i=0;i<=ware_code.length();i++){
  if(i+2<ware_code.length()){
     strwarecode =strwarecode+ "'"+ware_code.substring(i,i+2)+"',";
  }else if(i+4>ware_code.length()){
   strwarecode =strwarecode+ "'"+ware_code.substring(i,i+2)+"'"; 
   i=ware_code.length();
  }
  i=i+1;
		
				
 }
    sqlwhere+=" and ware_code in("+strwarecode+")";
}
}
这样问题就解决了...
			
			
		 
	
		
			
			
			
		我一同事最近看了篇如此破解密码的文章,转个头在我们系统里一试,哎,真觉得安全性超次,直接输入用户名再加'--,便可以直接进入我们系统了,
搜索栏也是,只要加上';加上删除的内容,直接可以把表名给删了,
觉得这些黑客真是厉害,这也能被人发现,
不知道还有什么破坏系统的东西,真是防不胜防啊...
			
			
		 
	
		
			
			
			配置本公司 JBOSS 服务器以配置 OLS 为例 (jboss3.2.5) : 
1、  拷贝 JDK 到根止录下。 
2、  解压缩 JBOSS 包到根目录下。 
3、  配置环境变量: 
变量名: JAVA_HOME 
变量值: e:\jdk1.4 
配置 JBOSS_HOME 
变量名: JBOSS_HOME 
变量值: d:\jboss-4 
配置 PATH 
在现在 path 环境变量里加上: e:\jdk1.4\bin; D:\ jboss-4\bin 
4、  配置 JDBC 驱动: 
现以 Microsoft SQL Server 2005 JDBC Driver 为例: 
拷贝文件 sqljdbc.rar 到目录 E:\jboss-3.2.5\server\default\lib 下 
从 E:\jboss-3.2.5\docs\examples\jca\mssql-ds.xml 
到目录 E:\jboss-3.2.5\server\default\deploy 下。 
配置 mssql-ds.xml 文件如下: 
  <local-tx-datasource> 
    <jndi-name>MSSQLDS</jndi-name> 
    <connection-url>jdbc:sqlserver://localhost:1433;DatabaseName=esysdb</connection-url> 
    <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> 
    <user-name>sa</user-name> 
    <password>sa</password> 
<min-pool-size>150</min-pool-size> 
    <max-pool-size>300</max-pool-size> 
  </local-tx-datasource> 
5、  拷贝 ejbdao.rar, ejbdatagrid.rar, ejbfreeedit.rar, ejblicence.rar, ejbweb.rar 文件到 E:\jboss-3.2.5\server\default\deploy 目录下 
6、  拷贝应用程序 my.rar 
7、  更改 dbconn.properties 配置文件: E:\jboss-3.2.5\server\default\deploy\MY.war\WEB-INF\classes 
8、  禁止其他人员查看本系统目录方法: 
   E:\jboss-3.2.5\server\default\deploy\jbossweb-tomcat50.sar\web.xml 
改变属性        
<init-param> 
            <param-name>listings</param-name> 
            <param-value>true</param-value> 
        </init-param> 改为 <param-value>false</param-value> 
  
远程浏览本系统 ssl 配置: 
首先用 keytool 命令生成认证文件。 
更改 E:\jboss-3.2.5\server\default\deploy\jbossweb-tomcat50.sar\server.xml 
增加远程访问:如端口为: 8443 
               <Connector port="8443" address="${jboss.bind.address}" 
           maxThreads="300" minSpareThreads="5" maxSpareThreads="100" 
           scheme="https" secure="true" clientAuth="false" 
           keystoreFile="${jboss.server.home.dir}/conf/mykeystore.jks" 
           keystorePass="MyPassword" sslProtocol = "TLS" 
                 URIEncoding="GBK" /> 
说明: keystoreFile 为密钥存储位置。 
   9:如果想调用局域网另一个数据库,但不采用连接池的配置:
############################# 4:EDTEXPCON  Connection Config Begin    ###########################################
EDTEXPCON.isDataSource=false
EDTEXPCON.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
EDTEXPCON.url=jdbc:sqlserver://10.0.10.10:1433;databaseName=ee
EDTEXPCON.userName=sa
EDTEXPCON.password=sa
############################# EDTDATACON Connection Config End##############################################   
错误信息说明及解决办法: 
1:Unhandled token type: Unknown token: 0x00 
JDBC 驱动与 JBOSS 不匹配,造成系统不稳定。 
解决办法,更新 JDBC 驱动。 
2,乱码解决:
我们在进行开发时,如果JBOSS配置出现问题,将出现类似???????的乱码,
解决办法:
        在相应的JSP页面里写到:
       <%@ page contentType="text/html;charset=GBK" %>
        gb2312必为GBK
       在路径为:D:\jboss-3.2.5\server\default\deploy\jbossweb-tomcat50.sar\server.xml文件里的:
          <Connector port="8000" address="${jboss.bind.address}"
         maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
         enableLookups="false" redirectPort="8443" acceptCount="100"
         connectionTimeout="20000" disableUploadTimeout="true"
         URIEncoding="GBK" />
        URIEncoding 改为GBK,
       这样,乱码就会不再出现了.
 3