sql循环动态赋值问题

jinjzk 2007-11-07 01:32:21
for(int i=1;i<10;i++){
sql="SELECT count(*) AS SUM1 FROM xgsx_Call_Log where StartTime>convert(datetime,'"+stime1+"') and EndTime<convert(datetime,'"+stime2+"')";
System.out.println(sql);
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
if(rs.next()){
num1=rs.getString("SUM1");
}else{
num1="0";
}
System.out.println(num1);

}


我想当i=2的时候语句变成
for(int i=1;i<10;i++){
sql="SELECT count(*) AS SUM2 FROM xgsx_Call_Log where StartTime>convert(datetime,'"+stime2+"') and EndTime<convert(datetime,'"+stime3+"')";
System.out.println(sql);
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
if(rs.next()){
num2=rs.getString("SUM2");
}else{
num2="0";
}
System.out.println(num2);

}
以此类推,请问大哥们这个该怎么写
...全文
285 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinjzk 2007-11-07
  • 打赏
  • 举报
回复
自己完成了,不过可能写得不好,请大家多指教,谢谢帮助过我得人
try {
int j=0;
int num[]=new int[25];
String stime[]=new String[25];
for(int i=0;i<24;i++){
if(j<num.length-2){
j=i+1;
stime[i]=regdate+" "+i+":00:00";
stime[j]=regdate+" "+j+":00:00";
}else{
j=i+1;
stime[i]=regdate+" "+i+":00:00";
stime[j]=regdate+" "+i+":59:00";
}

System.out.println("stime"+i+":"+stime[i]);
System.out.println("stime"+j+":"+stime[j]);
sql="SELECT count(*) AS SUM"+i+" FROM xgsx_Call_Log where StartTime>convert(datetime,'"+stime[i]+"') and EndTime <convert(datetime,'"+stime[j]+"')";
System.out.println(sql);
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
if(rs.next()){
num[i]=rs.getInt("SUM"+i);
}else{
num[i]=0;
}
System.out.println("num"+i+":"+num[i]);

}
pt1314917 2007-11-07
  • 打赏
  • 举报
回复
哦,java语法俺不懂,俺是按c#语法定义的数组。
jinjzk 2007-11-07
  • 打赏
  • 举报
回复
int[] num=new num[10]; 得改成这个 int num[]=new int[10];呵呵
jinjzk 2007-11-07
  • 打赏
  • 举报
回复
java里面的
jinjzk 2007-11-07
  • 打赏
  • 举报
回复
num[10]; 这里显示错误:num cannot resolved to a type
还有这2个地方也是动态的,不知道该如何写谢谢了
StartTime> convert(datetime, ' "+stime1+ " ') and EndTime <convert(datetime, ' "+stime2+ " ')
pt1314917 2007-11-07
  • 打赏
  • 举报
回复

还有地方没改。刚没看到
想问楼主一句。这个是什么程序来的?C#?
pt1314917 2007-11-07
  • 打赏
  • 举报
回复
int[] num=new num[10];
for(int i=1;i <10;i++){
sql= "SELECT count(*) AS SUM2"+ i +" FROM xgsx_Call_Log where StartTime> convert(datetime, ' "+stime2+ " ') and EndTime <convert(datetime, ' "+stime3+ " ') ";
System.out.println(sql);
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
if(rs.next()){
num[i]=rs.getString( "SUM"+i);
}else{
num[i]= "0 ";
}
System.out.println(num[i]);

}

jinjzk 2007-11-07
  • 打赏
  • 举报
回复
大哥们帮帮忙小弟在线等着谢谢

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧