用Ruby写自动生成Sql语句脚本遇到的问题

时间:2022-04-21 17:35:37
1 打开文件的方法 :   File.readlines("d:/AutoSql/info.txt")
这条语句返回的结果是一个Array,所以需要写成File.readlines("d:/AutoSql/info.txt")[0]以便调用.
同时,这样会在后面带上换行符,因此还需要调用chomp方法,最后的语句:
msisdn = File.readlines("d:/AutoSql/info.txt")[0].chomp
 
2 根据时间动态生成文件名:
获取时间的方法 time = Time.now
#生成文件名
name  = msisdn + '-'+Time.now.year.to_s+'-'+ Time.now.month.to_s+'-'+Time.now.day.to_s+'---'+Time.now.hour.to_s+'-'+Time.now.min.to_s+'-'+Time.now.sec.to_s
 
3 打开文件并写入数据的方法:
txt=File.open("d:/SqlResult/#{name}.sql","w+")
 
4 文件写完后要记得close:
txt.close
 
5 在ruby脚本里调用notepad打开文件:
#打开执行完后打开文件
system("notepad  d:/SqlResult/#{name}.sql")
 
6 在bat里打开文件的语句:
start d:\AutoSql\info.txt
 
 
 
 1 msisdn = File.readlines("d:/AutoSql/info.txt")[0].chomp
 2 subId = File.readlines("d:/AutoSql/info.txt")[1].chomp
 3 cusId = File.readlines("d:/AutoSql/info.txt")[2].chomp
 4  
 5 time = Time.now
 6  
 7 #生成文件名
 8 name  = msisdn + '-'+Time.now.year.to_s+'-'+ Time.now.month.to_s+'-'+Time.now.day.to_s+'---'+Time.now.hour.to_s+'-'+Time.now.min.to_s+'-'+Time.now.sec.to_s
 9  
10 txt=File.open("d:/SqlResult/#{name}.sql","w+")
11  
12  
13 #需要的Sql语句,根据需要编写,例如:
14 txt.puts('select * from XXXX')
15 
16 #关闭文件
17 txt.close
18  
19 #打开执行完后打开文件
20 system("notepad d:/SqlResult/#{name}.sql")