Foxtable(狐表)用户栏目专家坐堂 → sql代码 怎么简化呢?


  共有5605人关注过本帖树形打印复制链接

主题:sql代码 怎么简化呢?

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
sql代码 怎么简化呢?  发帖心情 Post By:2022/10/21 22:26:00 [只看该作者]

sql代码 怎么简化呢?

当前代码如下:

 

 

Public Sub form593_upd ate2_Ajax(rq as Request)
Dim e As RequestEventArgs = rq.e
Dim cmd As SQ LCo mmand = rq.cmd
    cmd.Com mandText = "sele ct sum(价值或金额) from " & e.Values("表名") & " where 主表guid='" & e.Values("guid") & "' and 财物类型='款项' and 登记状态='" & e.Values("登记状态") & "'"
 If cmd.ExecuteScalar > 0 Then
    cmd.Comm andText = "upd ate " & e.Values("更新表名") & "  set 本次款项总计 = " & cmd.ExecuteScalar & " where 主表guid='" & e.Values("guid") & "'"
    cmd.ExecuteReader()
 End If
   cmd.Comm andText = "sel ect sum(数量) from " & e.Values("表名") & " where 主表guid='" & e.Values("guid") & "' and 财物类型<>'款项' and 登记状态='" & e.Values("登记状态") & "'"
 If cmd.ExecuteScalar > 0 Then
    cmd.Comm andText = "upd ate " & e.Values("更新表名") & "  set 本次物品总计 = " & cmd.ExecuteScalar & " where 主表guid='" & e.Values("guid") & "'"
    cmd.ExecuteReader()
End If
  cmd.Comman dText = "sel ect sum(本次款项总计) from " & e.Values("更新表名") & " where 主表guid='" & e.Values("guid") & "'"
If cmd.ExecuteScalar > 0 Then
     cmd.Comm andText = "upd ate " & e.Values("更新表名") & "  set 历史款项总计 = " & cmd.ExecuteScalar & " where 主表guid='" & e.Values("guid") & "'"
    cmd.ExecuteReader()
End If
   cmd.Comma ndText = "sel ect sum(本次物品总计) from " & e.Values("更新表名") & " where 主表guid='" & e.Values("guid") & "'"
If cmd.ExecuteScalar > 0 Then
     cmd.Com mandText = "upd ate " & e.Values("更新表名") & "  set  历史物品总计 = " & cmd.ExecuteScalar & " where 主表guid='" & e.Values("guid") & "'"
    cmd.ExecuteReader()
End If
e.WriteString("")
End Sub


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/22 9:36:00 [只看该作者]

可以2条合并为一条

"upd ate " & e.Values("更新表名") & "  set 本次款项总计 = (sele ct sum(价值或金额) from " & e.Values("表名") & " where 主表guid='" & e.Values("guid") & "' and 财物类型='款项' and 登记状态='" & e.Values("登记状态") & "') where 主表guid='" & e.Values("guid") & "'"

 回到顶部