2016年8月21日 星期日

關於 PL SQL if 的結構

關於PLSQL  if 的結構
if v_var is not null and v_var = 'b' then 
 s_var := 1;
elsif v_var is not null and  v_var = 'c' then
s_var := 2;  else 
 s_var := 3; 
end if;

2016年8月15日 星期一

關於 oracle sql 的遞迴查詢

各個常常會愈到階層關係比如










這時候 可以使用 查詢
 

 -- 向上查詢階層
   select * from org o 
   start with o.id = 123
   connect by o.id = prior o.parent_id;

--  向下查詢階層
   select * from org o 
   start with o.id = 123
   connect by prior o.id = o.parent_id;

2016年8月10日 星期三

PLSQL使用字串執行SQL

PL SQL 針對字串執行 SQL有著 特定的語法  可以針對CODE 較小的對應表 使用。
   function F_GET_CODE_TABLE_DESC(i_sql varchar2) return varchar2 is 
   o_desc varchar2(1000) := 'select * from XX  WHERE c_id = :id';
   c_columnName number :=1000;
  begin
   -- into 查詢結果回傳
   execute immediate i_sql  into o_desc using c_columnName ;
  return o_desc ;
  end;

2016年8月2日 星期二

JAVA-String編碼轉換

字串UTF-8編碼 轉Byte 數較少 的編碼例如 Big5 編碼會有失真的問題,難字也有其困難完整的轉換,將字串重新放回Write 重寫 會是解
   
   public String Convertendcode(String content){
     ByteArrayInputStream bais = new ByteArrayInputStream(content.getBytes("utf-8"));
     BufferedReader br = new BufferedReader (new InputStreanReader(bais));
     ByteArrayOutputStream boas =new ByteArrayOutputStream ();
     OutputStreamWriter osw =new OutputStreamWriter(boas,"big5");
     String buffer = null;
     if ((buufer = br.readLine())!=null){
       osw.write(buufer);
     }
     osw.flush();
     return boas.toString("big5");
   }

2016年8月1日 星期一

javaScript replace-ALL

這個方法是利用正規劃,的方式  : /g 表示全域 所以可替換所有字串內容
   

var ns=s.replace(/\你要置換的字串/g,'');

2016年7月31日 星期日

Oracle SQL 查詢 Left join 針對右表條件

Oracle 查詢時,常常會使用到JOIN 但是 針對右表 的過濾條件
放置where 條件 會因為右表 不存在而導致 查詢 失敗。




    select * from a  left join b 
    on a.id = b.id 
    where a.c1 = 2 
    and b.c1 = 3 
    --查詢會造成B表的欄位不存在時,查詢會造成0結果 需特別改成,因為where語法,是用於LEFT JOIN 的結果過濾
    
    --以下查詢會依照 a表為主表 b表的過濾條件當成 join 條件
    select * from a left join b
    on a.id =b.id and b.c1 =3 
    where a.c1=2;
    

2016年7月27日 星期三

關於PLSQL日期工具


myear number;
mmonth number; 

myear := extract(month from to_date(obj,'yyyyMM')) -- 取出年
mmonth := extract(year from to_date(obj,'yyyyMM')) -- 取出月

2016年7月25日 星期一

JQuery 選擇器

取得所有 checkbox 選擇的長度   並且全部打勾 
 





取得查詢畫面查詢內容 可利用 下列 function 觸發可由按鈕進行觸發
 //取得checkbox  
 var checklength =  $("input[name='checkbox']:checked").length;
                    //intput :輸入型別
                    //name :名稱
                    //checked:動作 
                    //length:長度

  $("input[name='checkbox']:checked").each(function(){
     $(this).attr("checked",true);
  });
 //取得所有 有 checked 的按鈕checkbox
 //each() --每個

Qrcode 建立




使用Google zxing.EncodeHintType
 下載的Jar檔理論上只要下載core(核心就好)

package com.joey.test;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Hashtable;

import javax.imageio.ImageIO;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.CharacterSetECI;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

public class Test {
 public static void main(String[] args){
  BufferedImage buggimg = new BufferedImage(1200, 1200, BufferedImage.TYPE_INT_RGB);
  //指定寫出的資料夾  可由設定檔設定 位置
  File outFule = new File("D:/Qrcode.png");
  //建立QRCODE 相關設定。
  Hashtable hitmap = new Hashtable();
  QRCodeWriter qrwrite = new QRCodeWriter();
  hitmap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
  //建立圖片的繪版
  Graphics2D g2d = buggimg.createGraphics();
  
  g2d.setColor(Color.WHITE);
  g2d.fillRect(0,0,1200,1200);
  g2d.setColor(Color.black);
   try {
   //取得圖片的 點 的大小 圖片大小設定 1200 1200 px s 圖片
   BitMatrix x = qrwrite.encode("yourMassage", BarcodeFormat.QR_CODE, 1200, 1200,hitmap);
   for(int i =0;i<1200;i++){
    for(int j=0;j<1200;j++){
     if(x.get(i, j)){
      g2d.fillRect(i, j, 1, 1);
     }
    }
   }
   //寫出圖片..
   ImageIO.write(buggimg,"png", outFule);
  } catch (Exception e) {
   e.printStackTrace();
  }


2016年7月24日 星期日

jQuery使用Selecter移動Option 內容。

//取得某Select 畫面所有的Option
function optionMoveAdd(移動的Val[]){
$('select[name="selectName"]').find('option').each(function(){
  ///簡易的畫面將所有的OPTION的內容一放到另一個 select  
   for(var i =0;i<obj.length;i++){
     if(obj[i]==$(this).val()){
       $('select[name="sourceSelect"]').append($(this));
      }
   }
 }

 }); }
function optionMovedlect(移動的Val[]){
$('select[name="selectName"]').find('option').each(function(){
  ///簡易的畫面將所有的OPTION的內容一放到另一個 select   
   for(var i =0;i<obj.length;i++){
     if(obj[i]==$(this).val()){
       $('select[name="sourceSelect"]').append($(this));
      }
   }
 }

 });
select 需要增加屬性  multiple="multiple"是可多選的意思  
size = 顯示 ---比數 
    
    
     //或許可加上增加或是刪除扭
    

2016年6月19日 星期日

第一隻Andorid

設定 Linear Layout 方向為垂直 設定物件的擺放為 置中
 
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context="com.example.test.MainActivity" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="328dp"
        android:layout_height="392dp"
        android:layout_margin="10sp"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="10sp"
        android:layout_weight="0.16"
        android:src="@drawable/madoka" />

    <Button
        android:id="@+id/changeImge1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/changeImg" />

</LinearLayout>

建立自定意圖片res  的 drawable 資料夾放置圖片。

撰寫程式

imgview.getDrawable().getConstantState() == 取得目前這個畫面的圖片格式判斷現在的圖片。

public class MainActivity extends Activity {
 Button changeImgbutton;
 ImageView  imgview;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  changeImgbutton =  (Button)findViewById(R.id.changeImge1);
  imgview = (ImageView)findViewById(R.id.imageView1);
  changeImgbutton.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
    if(imgview.getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.madoka,getApplicationContext().getTheme()).getConstantState())){
     imgview.setImageResource(R.drawable.i55963);
    }else{
     imgview.setImageResource(R.drawable.madoka);
    }
   }
  } );
 }