源码如下String sql="";
String strusername=ab_send.getUserName();
String fsr=ab_send.getFsr();
String strphns=ab_send.getPhns();
String aa[]=strphns.split(",");
String cc[]=strusername.split(",");
String nmfsr="";
for(int i=0; i<aa.length; i++) {
String bb[] = aa[i].split(",");
String dd[]=cc[i].split(",");
for(int n=0; n<bb.length; n++) {
if (!bb[n].equals("")){
//statement.setString(1,cc[n]);
String regtime = com.cms.common.api.EMSDateAPI.getInsertTimestampSQL("WebflowDataSource");
//sql="insert into ab_send(userName ,phns ,cont ,tim ,flag) values ('"+dd[n]+"','"+bb[n]+"','"+ab_send.getCont()+"',"+regtime+",'"+ab_send.getFlag()+"')";
sql="insert into ab_send(userName ,phns ,cont ,flag,fsr) values ('"+dd[i]+"','"+bb[i]+"','"+ab_send.getCont()+"','"+ab_send.getFlag()+"','"+fsr+"')";
try {
smsqlbean.setSqlValue(sql);
smsqlbean.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
String errorInfo = "sql|"+"插入****请加入说明信息****失败"+"|"+e.getSQLState()+"|"+e.getMessage();
System.out.println(errorInfo);
}
System.out.println(sql);
}
}
}输入数值如下
发送短信人为:
张三,李四,王二麻子,
号码为:
13800000000,13900000000,133000000,132000000,
思路如下,我发送人是从系统中选取的三个人,手机号码对应的前三位,但是第四个人不是我系统内的人员,我不用录入名字,但是我输入了手机号码,直接发送,
我数据库中发送人名字可以为空,错误出现在发送第四个号码的时候,数组判断第四个名字,也就是红色标注这句,实际上这个时候,这个数组的i是空的,也就是没有值,那么我这个短信就发送不出去了。如何修改,能够完整的发送出去短信?
String strusername=ab_send.getUserName();
String fsr=ab_send.getFsr();
String strphns=ab_send.getPhns();
String aa[]=strphns.split(",");
String cc[]=strusername.split(",");
String nmfsr="";
for(int i=0; i<aa.length; i++) {
String bb[] = aa[i].split(",");
String dd[]=cc[i].split(",");
for(int n=0; n<bb.length; n++) {
if (!bb[n].equals("")){
//statement.setString(1,cc[n]);
String regtime = com.cms.common.api.EMSDateAPI.getInsertTimestampSQL("WebflowDataSource");
//sql="insert into ab_send(userName ,phns ,cont ,tim ,flag) values ('"+dd[n]+"','"+bb[n]+"','"+ab_send.getCont()+"',"+regtime+",'"+ab_send.getFlag()+"')";
sql="insert into ab_send(userName ,phns ,cont ,flag,fsr) values ('"+dd[i]+"','"+bb[i]+"','"+ab_send.getCont()+"','"+ab_send.getFlag()+"','"+fsr+"')";
try {
smsqlbean.setSqlValue(sql);
smsqlbean.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
String errorInfo = "sql|"+"插入****请加入说明信息****失败"+"|"+e.getSQLState()+"|"+e.getMessage();
System.out.println(errorInfo);
}
System.out.println(sql);
}
}
}输入数值如下
发送短信人为:
张三,李四,王二麻子,
号码为:
13800000000,13900000000,133000000,132000000,
思路如下,我发送人是从系统中选取的三个人,手机号码对应的前三位,但是第四个人不是我系统内的人员,我不用录入名字,但是我输入了手机号码,直接发送,
我数据库中发送人名字可以为空,错误出现在发送第四个号码的时候,数组判断第四个名字,也就是红色标注这句,实际上这个时候,这个数组的i是空的,也就是没有值,那么我这个短信就发送不出去了。如何修改,能够完整的发送出去短信?
没标注出来,就是这句的'"+dd[i]+"'出问题,我想应该是的,如何处理?就是报一个错误,其他都没内容了。错误的数字指的是数组的这个i值。
String sql="";
String strusername=ab_send.getUserName();//这里是用户名
String fsr=ab_send.getFsr();
String strphns=ab_send.getPhns();//号码
String aa[]=strphns.split(",");//截成数组
String cc[]=strusername.split(",");
String nmfsr="";
for(int i=0; i<aa.length; i++) {
String bb[] = aa[i].split(",");//这里怎么又截了,已经分割数组了;难道数组里面
//有放了逗号分隔的号码
String dd[]=cc[i].split(",");//这里一样
for(int n=0; n<bb.length; n++) {
if (!bb[n].equals("")){
//statement.setString(1,cc[n]);
String regtime = com.cms.common.api.EMSDateAPI.getInsertTimestampSQL("WebflowDataSource");
//sql="insert into ab_send(userName ,phns ,cont ,tim ,flag) values ('"+dd[n]+"','"+bb[n]+"','"+ab_send.getCont()+"',"+regtime+",'"+ab_send.getFlag()+"')";
//这里可以改成
sql+="insert into ab_send(userName ,phns ,cont ,flag,fsr) values ('"+dd[i]+"','"+bb[i]+"','"+ab_send.getCont()+"','"+ab_send.getFlag()+"','"+fsr+"');";
System.out.println(sql);
}
}
}
try {
smsqlbean.setSqlValue(sql);//可以一次执行多个插入语句,包要把方法体放入循环
//可以放方法循环
smsqlbean.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
String errorInfo = "sql|"+"插入****请加入说明信息****失
败"+"|"+e.getSQLState()+"|"+e.getMessage();
System.out.println(errorInfo);
}