如何学好java

如何学好java,其实很简单,只要用心体会,慢慢积累!
posts - 106, comments - 7, trackbacks - 0, articles - 3
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

function savesettle(){
    $(
"#saveSettle").attr("action","<c:url value='/j8_distributorSummary/saveSettle'/>");
    
    $(
"#saveSettle").submi
注意:#id    取值于——form表单的ID值
t();
}



posted @ 2011-12-15 15:57 哈希 阅读(181) | 评论 (0)编辑 收藏

/**
 * 修改状态
 */
function changeStates(flag) {
 if(flag == 1){
  if(confirm('确认审批是否通过?')){
   saveStates(flag,"<c:url value='/j8_distributorSettle/listSettle/approval'/>");
  }
 }else if(flag == 4){
  if(confirm('确认付款?')){
   saveStates(flag,"<c:url value='/j8_distributorSettle/listSettle/payment'/>");
  }
 }else{
  saveStates(flag,"<c:url value='/j8_distributorSettle/listSettle/approval'/>");
 }

//审批数据提交
function saveStates(flag,url){
 $.ajax({
    type: 'get',
    url: "<c:url value='/j8_distributorSettle/changeStates/'/>"+flag+"/<c:out value='${result.settleMaster.id}'/>",
    dataType: 'html',
    success: function(data){        
     if(data > 0){
       showInfo("操作成功");       
    window.location.href=url; 
     }else{
       showError("操作失败"); 
    return false;
     }
    }
 });
}

$(document).ready(function () {
 ConvertMoney();
});
/**
 * 修改状态
 */
function changeStates(states) {
 $.ajax({
    type: 'get',
    url: "<c:url value='/j8_clientSummary/changeStates/'/>"+states+"/<c:out value='${result.repurchseMaster.id}'/>",
    dataType: 'html',
    success: function(data){        
     if(data > 0){
       showInfo("操作成功");
       if(states == 1){
        url = "<c:url value='/j8_clientSummary/summaryList/1'/>";
       }
       if(states == 2){
        url = "<c:url value='/j8_clientSummary/summaryList/2'/>";
       }
       if(states == 3){
        url = "<c:url value='/j8_clientSummary/summaryList/2'/>";
       }
       if(states == 4){
        url = "<c:url value='/j8_clientSummary/summaryList/3'/>";
       }
       window.location.href = url;       
    query();      
     }else{
       showError("操作失败"); 
    return false;
     }
    }
  });
}

function create() {
  var checkValues = getCoulmnValue(oTable,'key');
  if(isEmpty(checkValues)){
   showInfo("请选择要结算的行");
   return false;
  } else {
   checkSettle(checkValues);   
  }
 }
 //结算检查
 function checkSettle(checkValues){  
  $.ajax({
     type: 'get',
     url: "<c:url value='/j8_distributorSummary/checkSettle/'/>"+checkValues,
     dataType: 'html',
     success: function(data){        
      if(data == '1'){       
     window.location.href="<c:url value='/j8_distributorSummary/createSettle/'/>"+checkValues;
      }else{
        showInfo("只能对同一客户进行结算");
     return false;
      }
     }
   });
 }


 function changeStates(flag) {
  var checkValues = getCoulmnValue(oTable,'key');
  if(isEmpty(checkValues)){
   showInfo("请选择数据");
   return false;
  } else {
   if(flag == 1){
    if(confirm('确认审批是否通过?')){
     saveStates(flag,checkValues);
    }
   }else if(flag == 4){
    if(confirm('确认付款?')){
     saveStates(flag,checkValues);
    }
   }else{
    saveStates(flag,checkValues);
   }     
  }
 } 
 //审批数据提交
 function saveStates(flag,checkValues){
  $.ajax({
     type: 'get',
     url: "<c:url value='/j8_distributorSettle/changeStates/'/>"+flag+"/"+checkValues,
     dataType: 'html',
     success: function(data){        
      if(data > 0){
        showInfo("操作成功");       
     query();      
      }else{
        showError("操作失败"); 
     return false;
      }
     }
  });
 }

function changeStates(states) {
  var checkValues = getCoulmnValue(oTable,'key');
  if(isEmpty(checkValues)){
   showInfo("请选择数据");
   return false;
  } else {
   $.ajax({
      type: 'get',
      url: "<c:url value='/j8_clientSummary/changeStates/'/>"+states+"/"+checkValues,
      dataType: 'html',
      success: function(data){        
       if(data > 0){
         showInfo("操作成功");       
      query();      
       }else{
         showError("操作失败"); 
      return false;
       }
      }
    });  
  }
 }

posted @ 2011-12-15 15:54 哈希 阅读(168) | 评论 (0)编辑 收藏

function flushleft(){//给表格的第一行加CLASS=flush_left其下所有都局左对齐
      $('.flush_left').parent().find('th').each(function(i){
         
if($(this).attr('class')=='flush_left'){
         $(
this).parents().parent().find('tr').each(function(){
            $(
this).find('td').eq(i).css('text-align','left')
         }
)
         }
;
      }
);
   }

   
function flushright(){//给表格的第一行加CLASS=flush_left其下所有都局右对齐
      $('.flush_right').parent().find('th').each(function(i){
         
if($(this).attr('class')=='flush_right'){
         $(
this).parent().parent().find('tr').each(function(){
            $(
this).find('td').eq(i).css('text-align','right')
         }
)
         }
;
      }
);
   }

   
function flushcenter(){//给表格的第一行加CLASS=flush_left其下所有都局中对齐
      $('.flush_center').parent().find('th').each(function(i){
         
if($(this).attr('class')=='flush_center'){
         $(
this).parent().parent().find('tr').each(function(){
            $(
this).find('td').eq(i).css('text-align','center')
         }
)
         }
;
      }
);
   }

posted @ 2011-12-15 10:49 哈希 阅读(403) | 评论 (0)编辑 收藏

 <td class="tablealignleft" >
                                            
<select id="status" name="status">
                                                    
<option value="">全部</option>
                                                    
<c:forEach var="sta" items="${statusList}">
                                                        
<option value="<c:out value="${sta.id}"></c:out>"><c:out value="${sta.name}"></c:out></option>                                                        
                                                    
</c:forEach>
                                                                        
                                            
</select>
                                        
</td>    
jQuery获取Select选择的Text和Value:
1. $("#select_id").change(function(){//code});    //为Select添加事件,当选择其中一项时触发
2var checkText=$("#select_id").find("option:selected").text();   //获取Select选择的Text
3var checkValue=$("#select_id").val();   //获取Select选择的Value
4var checkIndex=$("#select_id ").get(0).selectedIndex;   //获取Select选择的索引值
5var maxIndex=$("#select_id option:last").attr("index");   //获取Select最大的索引值
jQuery添加/删除Select的Option项:
1. $("#select_id").append("<option value='Value'>Text</option>");   //为Select追加一个Option(下拉项)
2. $("#select_id").prepend("<option value='0'>请选择</option>");   //为Select插入一个Option(第一个位置)
3. $("#select_id option:last").remove();   //删除Select中索引值最大Option(最后一个)
4. $("#select_id option[index='0']").remove();   //删除Select中索引值为0的Option(第一个)
5. $("#select_id option[value='3']").remove();   //删除Select中Value='3'的Option
5. $("#select_id option[text='4']").remove();   //删除Select中Text='4'的Option
内容清空:
$(
"#charCity").empty();

$(function(){$("#status").change(function(){
       var sdelectValue=$("#status").val();
       alert(sdelectValue);
       getCustomerInfo(sdelectValue)
   });
  });
 
 
   function getCustomerInfo(id){
       alert(id);
        $.ajax({
          type: 'get',
          //url: "<c:url value='/k4_oldGoldStorsge/getCustomer/'/>"+id,
          url: "<c:url value='/k4_oldGoldStorsge/getCustomerInfo/'/>"+id,
          dataType: 'json',
          success: function(data) {
             alert(data.receivername);
             $("#receiveName").val(data.receivername);   //name
             $("#description").val(data.description);        //code
             $("#receiverId").val(data.account);     //account
             $("#receiverPhone").val(data.receiverTelephone);  //telephone
             //$("#").val(data.);                       
         }
        });
 }

posted @ 2011-12-15 09:43 哈希 阅读(390) | 评论 (0)编辑 收藏

 

 function getCustomer(url, param, width, height){
  
var rs = window.showModalDialog(url,param,"dialogWidth=" + width + "px;dialogHeight=" + height + "px");
  
var aValues=rs.split(",");
  $(
"#supplier").val(aValues[0]);
  getCustomerInfo($(
"#supplier").val());
 $(
"#suppliername").val(aValues[1]);
 }


 
 
    
function getCustomerInfo(id){
        alert(id);
       $.ajax(
{
          type: 'get',
         url: 
"<c:url value='/k4_oldGoldStorsge/getCustomer/'/>"+id,
         dataType: 'json',
         success: 
function(data) {
             alert(data.name);
             $(
"#receiveName").val(data.legalperson);   //name
             $("#receiverId").val(data.account);        //code
             $("#receiverBank").val(data.baseBank);     //account
             $("#receiverPhone").val(data.taxpayerTel);  //telephone
             $("#").val(data.);                        
         }

       }
);
 }

 

 

posted @ 2011-12-15 09:37 哈希 阅读(162) | 评论 (0)编辑 收藏

jquery代码(jquery 读取table tr td值完成修改功能

var $td
=$(td).parents('tr').children('td');
 $(
"#seshu").val($td.eq(0).find('input').val());
 $(
"#jshuchudan").val($td.eq(1).find('input').val());
 $(
"#jshuchuqi").val($td.eq(2).find('input').val());
 $(
"#jchuantongddan").val($td.eq(3).find('input').val());
 $(
"#jchuantongdqi").val($td.eq(4).find('input').val());
 $(
"#schuantongddan").val($td.eq(5).find('input').val());
 $(
"#schuantongdqi").val($td.eq(6).find('input').val());
 $(
"#zhizuodan").val($td.eq(7).find('input').val());
 $(
"#zhizuoqi").val($td.eq(8).find('input').val());
 $(
"#ganbandan").val($td.eq(9).find('input').val());
 $(
"#ganbanqi").val($td.eq(10).find('input').val());
 $(
"#pinbandan").val($td.eq(11).find('input').val());
 $(
"#pinbanqi").val($td.eq(12).find('input').val());
 $(
"#jjid").val($td.eq(13).find('input').val());
 
 $(
"#updateform").submit();

 用Jquery获取table中td的值:

          首先建立一个如下一个两行三列的table

           <table id="tb" style="text-align: center;" width="100%" border="1PX">
                <tr> <td>A1  </td><td> A2 </td> <td>A3</td> </tr>
                <tr><td>B1</td> <td>  B2</td><td>B3</td> </tr>
           </table>

        Jquery 代码部分

              <SCRIPT type=text/javascript src="Jquery/jquery-1.4.2.js">//引入Jquery 插件不能少哦</SCRIPT>

              <SCRIPT language="javascript" type="text/javascript" >

                $(function(){
                    //使用jquery 取得table 中td里面的值
                       $("#tb td").click(function(){
                                      alert($(this).text());

                         })
           
                });</SCRIPT >

 用Javascript 获取table中td的值:

      直接就写JS拉,借用上面table

      <script language="javascript" type="text/javascript">
        function GetTdValue()
        {
            //Javascript 取得table 中TD的值
            var VAL=document.getElementById("tb").rows[1].cells[1];
            alert(VAL.innerHTML)
        }
    </script>





因为这个tr需要动态增加和删除,并且获得td中的值

<script src="js/jquery-1.3.2.js" type="text/javascript"> </script>
<script type="text/javascript">
function addit(){
   
var n = $("#paramTable tr:last td").eq(1).html();
   
if(isNaN(n)) n = 1;
   
else n++;
    $(
"#paramTable").append("<tr><td>name</td><td>" + n + "</td><td onclick='delit(this);'>删除</td></tr>")
}
function delit(obj){ $(obj).parent().remove();} </script>
<input type="button" onclick="addit()" value="添加">
<table border=1 id="paramTable">
<tr>
<td width=100>
参数名称
</td>
<td width=100>
对应列号
</td>
<td width=60>
是否删除
</td>
</tr>
<tr>
<td>name</td>
<td>1</td>
<td onclick="delit(this);">删除</td>
</tr>
</table>






 function getMerchandiseTable(){
            var arrMerchandise = [];
            $("#tbOrderMerchandise tr").each(function(){
                 var $MerchandiseIdTd = $("td:eq(0)",$(this) );//商品ID
                 
                 var $quantityTd = $("td:eq(3)",$(this) );//数量
                 var $priceTd=$("td:eq(6)",$(this) );//小计
                 var $DescriptionTd = $("td:eq(7)",$(this) );//备注
                
                if($MerchandiseIdTd.text()!="")
                {
                    arrMerchandise.push($MerchandiseIdTd.text()+"|"+$quantityTd.text()+"|"+$priceTd.text()+"|"+$DescriptionTd.text());
                }
            });
            $("#hidDetailList").val(arrMerchandise.join(","));
        }



private List<hanvnet.Dto.Page.Table.DeliveryFeePage> GetDeliveryFeeList(string strChargerId)
    {
        string strFeeInput = hdFeeList.Value;

        List<hanvnet.Dto.Page.Table.DeliveryFeePage> lstFee
            = new List<hanvnet.Dto.Page.Table.DeliveryFeePage>();
        hanvnet.Dto.Page.Table.DeliveryFeePage deliveryFeePage = null;

        string[] strFeeList = strFeeInput.Split(Char.Parse(","));
        for (int i = 0; i < strFeeList.Length; i++)
        {
            deliveryFeePage = new hanvnet.Dto.Page.Table.DeliveryFeePage();
            string[] strFeeDetailList = strFeeList[i].Split(Char.Parse("|"));
            deliveryFeePage.DeliveryId = _deliveryId;
            deliveryFeePage.FeeId = int.Parse(strFeeDetailList[0]);
            deliveryFeePage.ReceiveId = strChargerId;
            deliveryFeePage.PlanAmount = decimal.Parse(strFeeDetailList[1]);
            deliveryFeePage.Description = strFeeDetailList[2];
            deliveryFeePage.DataStatus = 1;
            deliveryFeePage.InsDateTime = DateTime.Now;
            deliveryFeePage.InsUserId =       this.Session[hanvnet.Common.Utils.Constraints.C_SESSION_LOGINID].ToString();
          lstFee.Add(deliveryFeePage);
        }
        return lstFee;
    }
function UnOffOrderAmount(){
        //alert("不优惠");
          var UnoffOrderAmounts=0;
          $("#tbOrderMerchandise tr").each(function(){
                 var $priceTd=$("td:eq(6)",$(this) );//优惠金额
               
                UnoffOrderAmounts+=$priceTd.text()*1;
               
            });
            return UnoffOrderAmounts;
        }

<td class="tablealigncenter" nowrap>
        <input type="text" name="countId" id="countId" onblur="getAgentAccountMoney(this)"></>
    </td>

 //alert($($($AgentMoney)).find("input").get(0).value);


 function getBillsTable(){
                var arrbills = [];
                $("#mainTableBody tr").each(function(){
                var $productId=$("td:eq(1)",$(this) ); 
                var $baseGoldPrice=$("td:eq(5)",$(this));
                var $baseGoldAcountPrice=$("td:eq(6)",$(this));
                var $AgentMoney=$("td:eq(7)",$(this));
                 //alert($($($AgentMoney)).find("input").get(0).value);
                var $AgentAccountMoney=$("td:eq(8)",$(this));
                // alert($($AgentAccountMoney).find("input").get(0).value);
                 if($productId!=null){
                  arrbills.push($productId.text()+"/"+$baseGoldPrice.text()+"/"+$baseGoldAcountPrice.text()+"/"+$($AgentMoney).find("input").get(0).value+"/"+$($AgentAccountMoney).find("input").get(0).value);
                  }
                });
                $("#hidTableValue").val(arrbills.join(","));
                $("#createfrom").attr("action","<c:url value='/k4_oldGoldStorsge/saveFactoryBills'/>");
                $("#createfrom").submit();
          }

posted @ 2011-12-15 09:23 哈希 阅读(7822) | 评论 (1)编辑 收藏

 

  1. 班级  科目   分数  
  2. 1     语文   8800  
  3. 1     数学   8420  
  4. 1     英语   7812  
  5. ……  
  6. 2     语文   8715  
  7. 2     数学   8511  
  8. 2     英语   8512  
  9. ……  
  10.    
  11.    
  12. 要求转换成下面这样的结果  
  13. 班级    语文    数学    英语  
  14. 1       8800    8420    7812  
  15. 2       8715    8511    8512  

 

 

这是一个非常经典的 4属性的表设计模式,顾名思义,这样的表一般有四列,分别是:entity_id, attribute_name, attribute_type, attribute_value ,这样的设计使我们添加字段非常容易,如:我们想添加一个物理成绩是非常简单的,我们只要向表中插入一条记录即可。但是,这样的设计有一个非常严重的问题,那就是:查询难度增加,查询效率非常差。

要想实现上面的查询有一个原则,那就是:通过case语句创造虚拟字段,使结果集成为二维数组,然后应用聚合函数返回单一记录。怎么样?不理解,仔细看看下面的图和分析下面的语句你就理解了。

 

  1. create table score  
  2. (  
  3.     banji integer,  
  4.     kemu varchar(10),   
  5.     fengshu integer  
  6. )  
  7. go  
  8.    
  9. insert into score values  
  10. (1, '语文', 8800),  
  11. (1, '数学', 8420),  
  12. (1, '英语', 7812),  
  13. (2, '语文', 8715),  
  14. (2, '数学', 8511),  
  15. (2, '英语', 8512)  
  16. go  
  17.    
  18. select banji,  
  19.        max(yuwen)        语文,  
  20.        max(shuxue)       数学,  
  21.        max(yingyu)       英语  
  22. from    
  23.      (select  banji,  
  24.               case kemu  
  25.                when '语文' then fengshu  
  26.                else 0  
  27.              end                         yuwen,  
  28.              case kemu  
  29.                when '数学' then fengshu  
  30.                else 0  
  31.              end                         shuxue,  
  32.              case kemu  
  33.                when '英语' then fengshu  
  34.                else 0  
  35.              end                         yingyu  
  36.       from score  
  37.       ) as inner  
  38. group by inner.banji  
  39. order by 1  
  40. go  

 

 

你可能正在感叹,这样的解决方案是多么的巧妙,可惜不是我想出来的,在这里,我也不敢把大师的思想据为己有,以上思想来自<SQL语言艺术>的第11章,想了解更全面的信息,大家可以参考。

 

 

posted @ 2011-12-07 10:36 哈希 阅读(312) | 评论 (0)编辑 收藏

好久没用List去保存一个JDBC查询结果,查询出来的ResultSet只执行了一次,然后就报NullPointException。明明数据库中有数据,就是执行不了第二次,一到把对象添加到list上面就直接报异常,郁闷了半天。
Java代码 复制代码 收藏代码
  1. public List<Terminal> getTerm(String user){   
  2.             List<Terminal> termlist= null;//这里出现问题,没有new一个List   
  3.             //改为List<Terminal> termlist= new ArrayList();,   
  4.               //new一个ArrayList就没事了,日,以前初学的时候也得过这种问题...汗   
  5.                         try {   
  6.                 con = DBPool.getPool().getConnection();   
  7.                 ps =con.prepareStatement("select * from gps_termcodetable where kh_user=?");   
  8.                 ps.setString(1, user);   
  9.                 rs = ps.executeQuery();   
  10.                 while(rs.next()){   
  11.                     Terminal term = new Terminal();   
  12.                     String number = rs.getString("hm_number");   
  13.                     String nick = rs.getString("mc_nick");   
  14.                     term.setZhNumber(number);   
  15.                     term.setLisence(rs.getString("mc_nick"));   
  16.                     termlist.add(term);   
  17.                 }   
  18.                 rs.close();   
  19.                 ps.close();   
  20.                 con.close();   
  21.             } catch (SQLException ex) {   
  22.                 Logger.getLogger(GetTerminal.class.getName()).log(Level.SEVERE, null, ex);   
  23.             }   
  24.          return termlist;   
  25.     }  

后面才发现没有new一个ArrayList,郁闷了,还犯这种错误,久了没用也会生疏

posted @ 2011-12-05 22:14 哈希 阅读(1223) | 评论 (0)编辑 收藏

1、 开始->设置->控制面板->管理工具->服务
停止所有Oracle服务。

2、 开始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer
卸装所有Oracle产品,但Universal Installer本身不能被删除

5、 运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。

6、 运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动
这个列表,删除所有Oracle入口。

7、 运行refedit,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,
删除所有Oracle入口。

8、 开始->设置->控制面板->系统->高级->环境变量
删除环境变量CLASSPATH和PATH中有关Oracle的设定

9、 从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标

10、 删除\Program Files\Oracle目录

11、 重新启动计算机,重起后才能完全删除Oracle所在目录

12、 删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,并从Windows 2000目录(一般为C:\WINNT)下删除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。

13、 WIN.INI文件中若有[ORACLE]的标记段,删除该段

14、 如有必要,删除所有Oracle相关的ODBC的DSN

posted @ 2011-11-30 15:30 哈希 阅读(136) | 评论 (0)编辑 收藏

1、 开始->设置->控制面板->管理工具->服务
停止所有Oracle服务。

2、 开始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer
卸装所有Oracle产品,但Universal Installer本身不能被删除

5、 运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。

6、 运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动
这个列表,删除所有Oracle入口。

7、 运行refedit,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,
删除所有Oracle入口。

8、 开始->设置->控制面板->系统->高级->环境变量
删除环境变量CLASSPATH和PATH中有关Oracle的设定

9、 从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标

10、 删除\Program Files\Oracle目录

11、 重新启动计算机,重起后才能完全删除Oracle所在目录

12、 删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,并从Windows 2000目录(一般为C:\WINNT)下删除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。

13、 WIN.INI文件中若有[ORACLE]的标记段,删除该段

14、 如有必要,删除所有Oracle相关的ODBC的DSN

posted @ 2011-11-30 15:30 哈希 阅读(159) | 评论 (0)编辑 收藏

仅列出标题
共11页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last