Simple GIS

GISプログラムの練習

データ変換(2)

package makesql;

import tool.*;

public class pro {

    String data=new String[5000];
     String type=new String[10];
     String credit=new String[10];
     int strlong=new int[10];
   String subdata=new String[500][10];
    
   int s,datanumber;
     int creditnumber; 
     String str;
     
    public static void main(String[] args) {
        pro test=new pro();
    }

 pro(){

     String tab;
     
     datanumber=3;
     creditnumber=2;
     
     type[1]="VARCHAR";
     type[2]="INT";
     strlong[1]=20;
 
     credit[1]="name";
     credit[2]="x";
     
     
     tab="plan";
     
     subdata[1][1]="ABC";
     subdata[1][2]="1";
      subdata[2][1]="AgBC";
     subdata[2][2]="5";
     
     str=makecard();
     data[1]=maketable(tab,str);
     str=makemessage(1);
     data[2]=makeinsert(tab,str);
     str=makemessage(2);
     data[3]=makeinsert(tab,str);
    
     
     writefile sub=new writefile();
     sub.data=data;
     sub.datanumber=datanumber;
     sub.makedata("a.sql");
     
    
    
}
 
 
 String makecard(){
     int sx;
     String str;
     str="";
for(sx=1;sx<creditnumber;sx++){
if(type[sx].indexOf("VARCHAR")>-1)str=str+credit[sx]+" "+type[sx]+"("+strlong[sx]+")"+",";     
if(type[sx].indexOf("INT")>-1)str=str+credit[sx]+" "+type[sx]+",";
if(type[sx].indexOf("DOUBLE")>-1)str=str+credit[sx]+" "+type[sx]+",";     
}
sx=creditnumber;
if(type[sx].indexOf("VARCHAR")>-1)str=str+credit[sx]+" "+type[sx]+"("+strlong[sx]+")";     
if(type[sx].indexOf("INT")>-1)str=str+credit[sx]+" "+type[sx];
if(type[sx].indexOf("DOUBLE")>-1)str=str+credit[sx]+" "+type[sx];      
return str;
}
 
 String makemessage(int s){
     int sx;
     String str;
     str="";
for(sx=1;sx<creditnumber;sx++){
if(type[sx].indexOf("VARCHAR")>-1)str=str+change(subdata[s][sx])+",";     
if(type[sx].indexOf("INT")>-1)str=str+subdata[s][sx]+",";
if(type[sx].indexOf("DOUBLE")>-1)str=str+subdata[s][sx]+",";
}
sx=creditnumber;
if(type[sx].indexOf("VARCHAR")>-1)str=str+change(subdata[s][sx]);     
if(type[sx].indexOf("INT")>-1)str=str+subdata[s][sx];
if(type[sx].indexOf("DOUBLE")>-1)str=str+subdata[s][sx];
return str;
}
 String maketable(String tab,String message){
String str;
str="create table "+tab+"("+message+");";
return str;
}
String makeinsert(String tab,String message){
String str;
str="insert into "+tab+" values("+message+");";
return str;
}
 
String change(String str){
String strx;
strx="'"+str+"'";
return strx;
}
}