三、 三种解决方法
1、 JAVA编程批量制造数据
//==============Insert.java=====================
public class Insert
{
public static void main(String []args)
{
int count1 = 0;
int t1 = 0;
int t2 = 0;
while(count1 < 100)
{
count1 += 1;
int count2 = 0;
while(count2 < 4)
{
count2 += 1;
t1 += 1;
switch(count2)
{
case 1:
System.out.println("INSERT INTO `tbl_topic_object` VALUES ('" + t1 + "', '弃权', '" + count1 + "', '1', '2007-08-28 18:33:08', '', '3', '-1', '1', null);");break;
case 2:
t2 = 3 * (count1 - 1) + 1;
System.out.printf("INSERT INTO `tbl_topic_object` VALUES ('" + t1 + "', '代表2000");
System.out.printf("%03d",count1);
System.out.printf("', '" + count1 + "', '1', '2007-08-28 18:33:14', '', '0', '" + t2 + "', '2', null);");
System.out.println();break;
case 3:
t2 = 3 * (count1 - 1) + 2;
System.out.printf("INSERT INTO `tbl_topic_object` VALUES ('" + t1 + "', '代表2000");
System.out.printf("%03d",count1);
System.out.printf("', '" + count1 + "', '1', '2007-08-28 18:33:14', '', '0', '" + t2 + "', '3', null);");
System.out.println();break;
case 4:
t2 = 3 * count1;
System.out.printf("INSERT INTO `tbl_topic_object` VALUES ('" + t1 + "', '代表2000");
System.out.printf("%03d",count1);
System.out.printf("', '" + count1 + "', '1', '2007-08-28 18:33:14', '', '0', '" + t2 + "', '4', null);");
System.out.println();break;
default:
System.out.println("Error!");
}
}
}
System.out.println("Successful!");
}
}
评:使用关键字替换的方法,避免了大量的字符串拼接,使代码看起来干净清晰。
2、 UNIX SHELL脚本批量制造数据
HEAD="INSERT INTO \`tbl_topic_object\` VALUES ("
F4F5F6="'1', '2007-08-28 18:34:46', '', "
TAIL="null);"
COUNT1=0
COUNT2=1
cat /dev/null > out.txt
while [ $COUNT1 -le 99 ]
do
while [ $COUNT2 -le 4 ]
do
TMP=`expr $COUNT2 + \( $COUNT1 \* 4 \)`
printf "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bProcess: 400 / $TMP"
F1=`printf "%-3s" $TMP`
TMP=`expr $COUNT1 + 1`
F3=`printf "%-3s" $TMP`
if [ $COUNT2 -eq 1 ]
then
F2="'弃权 '"
F7="'3'"
F8=`printf "%-3s" -1`
else
F7="'0'"
TMP=`expr $COUNT1 \* 3 + $COUNT2 - 1`
F8=`printf "%-3s" $TMP`
TMP=`expr $COUNT1 + 1`
TMP1=`expr $COUNT2 - 1`
TMP2=`printf "%03d" $TMP`
F2="'代表"$TMP1"000"$TMP2"'"
fi
F9="'$COUNT2'"
TMP_STR=$HEAD"'$F1', "$F2", '"$F3"', "$F4F5F6$F7", '"$F8"', "$F9", "$TAIL
echo "$TMP_STR" >> out.txt
COUNT2=$((COUNT2+1))
done
COUNT1=$((COUNT1+1))
COUNT2=1
done
echo "Process successfully!"
评:使用两层循环,算法清晰简洁,部分使用算术表达式,语句上也来得更好看,最后结果也是经过格式整理的,比较齐整,不过要注意这些补进去的空格在插入数据表后会不会对后续工作有影响。
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们。