Private conn As New ADODB.Connection 
Private rs As New ADODB.Recordset 
Private pstr As String, sqlr As String pstr = "Driver={sql server};server=" & DataIP & ";uid=" & DataName & ";pwd=" & DataPWD & ";database=ICpadDB" 
conn.Open pstr sqlr = "SELECT * FROM ConsumRecord"
rs.Open sqlr, conn, adOpenKeyset, adLockPessimistic 
If rs.EOF = True Then 
conn.Close 
Set rs = Nothing
Else Set MSHFlexGrid1.DataSource = rs 
conn.Close 
Set rs = Nothing 
End If上面VB6.0程序代码片段,除了书写排版极不规范之外,还写了大量多余的语句,请指出哪些语句是多余的,请改成最简洁的代码:

解决方案 »

  1.   

    http://download.csdn.net/detail/veron_04/1627068
      

  2.   

    Private conn As New ADODB.Connection 
    Private rs As New ADODB.Recordset 
    Private pstr As String, sqlr As String 
    pstr = "Driver={sql server};server=" & DataIP & ";uid=" & DataName & ";pwd=" & DataPWD & ";database=ICpadDB" 
    conn.Open pstr sqlr = "SELECT * FROM ConsumRecord"
    rs.Open sqlr, conn, adOpenKeyset, adLockPessimistic If not rs.EOF Then ' = True 不需要,并转为非逻辑,成立时不需要处理吧
    'conn.Close 
    'Set rs = Nothing'移到end if 之后
    'Else 
    Set MSHFlexGrid1.DataSource = rs 
    'conn.Close 
    'Set rs = Nothing 
    End If
    set conn=nothing'事实上这两句也不必要,退出过程时,VB会自动关闭并释放对象
    Set rs = Nothing
      

  3.   

    硬要挑出不当之处的话
    第一: pstr ="...."和sqlr = "...."前面忘记换行了, 
    第二: If XX=True then 改成if XX THEN 即可不过都是无伤大雅的.楼上说的最后两个 set xxx = nothing 我倒是觉得应该保留, 养成好习惯, 因为有些对象可能比较顽固, 无法自动删除.