⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmsqlbuilder.frm

📁 很好! 很实用! 免费!
💻 FRM
📖 第 1 页 / 共 2 页
字号:
            Add "      g_cn.Execute sSQL"
            Add "      If Err.Number = 0 Then"
            Add "         g_cn.CommitTrans"
            Add "         'Add Log*********************'"
            Add "         g_System.AddLog " + Chr(34) + txtTable.Text + Chr(34) + ",sSQL"
            Add "         Insert = True"
            Add "      Else"
            Add "         g_cn.RollbackTrans"
            Add "         Insert = False"
            Add "         Err.Clear"
            Add "      End If"
            Add "End Function"
        
            'Busy
            g_Busy.Caption = "build update"
            If Not g_Busy.ScheduleValueAdd() Then Exit Sub
        
            'build update
            Add "'" + txtTable.Text + " Update SQL"
            Add "Public function Update() as boolean"
            Add "On Error Resume Next"
                
            Add "    sSQL=" + Chr(34) + Chr(34)
        
            Add "    sSQL=sSQL+" + Chr(34) + " update " + txtTable.Text + " Set " + Chr(34)
            sTemp = ""
            rs.MoveFirst
            Do While Not rs.EOF
                'Busy
                If Not g_Busy.ScheduleValueAdd() Then Exit Sub
                If rs("ColName").value = "ID" Or rs("ColName").value = "CreateDate" Then
                ElseIf rs("ColName").value = "OperatorID" Then
                    sTemp = sTemp + "    sSQL=sSQL+" + Chr(34) + rs("ColName").value + "=" + Chr(34) + "+"
                    sTemp = sTemp + "CheckString(g_sUserID)"
                    sTemp = sTemp + "+" + Chr(34) + "," + Chr(34)
                ElseIf rs("ColName").value = "ModifyDate" Then
                    sTemp = sTemp + "    sSQL=sSQL+" + Chr(34) + rs("ColName").value + "=" + Chr(34) + "+"
                    sTemp = sTemp + Chr(34) + "getDate()" + Chr(34)
                    sTemp = sTemp + "+" + Chr(34) + "," + Chr(34)
                Else
                    sTemp = sTemp + "    sSQL=sSQL+" + Chr(34) + rs("ColName").value + "=" + Chr(34) + "+"
                    Select Case rs("ColType").value
                        Case "String"
                            sTemp = sTemp + "CheckString(m_" + rs("ColName").value + ")"
                        Case "Long"
                            If Right(rs("ColName").value, 2) = "ID" Then
                                sTemp = sTemp + "stringToNull(m_" + rs("ColName").value + ",2)"
                            Else
                                sTemp = sTemp + "CStr(m_" + rs("ColName").value + ")"
                            End If
                        Case "Double"
                            sTemp = sTemp + Chr(34) + "convert(Float," + Chr(34) + "+CheckString(m_" + rs("ColName").value + ")+" + Chr(34) + ")" + Chr(34)
                        Case "Date"
                            sTemp = sTemp + Chr(34) + "convert(Datetime," + Chr(34) + "+CheckString(m_" + rs("ColName").value + ")+" + Chr(34) + ")" + Chr(34)
                    End Select
                    sTemp = sTemp + "+" + Chr(34) + "," + Chr(34)
                End If
                
                rs.MoveNext
                If sTemp > "" Then
                    If rs.EOF Then
                        sTemp = Mid(sTemp, 1, Len(sTemp) - 4)
                    End If
                    Add sTemp
                End If
                sTemp = ""
            Loop
            Add "    sSQL=sSQL+" + Chr(34) + " where ID=" + Chr(34) + "+checkString(m_ID)"
            Add "    g_cn.BeginTrans"
            Add "      g_cn.Execute sSQL"
            Add "      If Err.Number = 0 Then"
            Add "         g_cn.CommitTrans"
            Add "         'Add Log*********************'"
            Add "         g_System.AddLog " + Chr(34) + txtTable.Text + Chr(34) + ",sSQL"
            Add "         Update = True"
            Add "      Else"
            Add "         g_cn.RollbackTrans"
            Add "         Update = False"
            Add "         Err.Clear"
            Add "      End If"
            Add "End Function"
            'Busy
            g_Busy.Caption = "build delete"
            If Not g_Busy.ScheduleValueAdd() Then Exit Sub
        
            'build delete
            Add "'" + txtTable.Text + " Delete SQL"
            Add "Public function Delete() as boolean"
            Add "On Error Resume Next"
                
            Add "    sSQL=" + Chr(34) + Chr(34)
        
            Add "    sSQL=sSQL+" + Chr(34) + " Delete " + txtTable.Text + " where ID=" + Chr(34) + "+checkString(m_ID)"
            Add "    g_cn.BeginTrans"
            Add "      g_cn.Execute sSQL"
            Add "      If Err.Number = 0 Then"
            Add "         g_cn.CommitTrans"
            Add "         'Add Log*********************'"
            Add "         g_System.AddLog " + Chr(34) + txtTable.Text + Chr(34) + ",sSQL"
            Add "         Delete = True"
            Add "      Else"
            Add "         g_cn.RollbackTrans"
            Add "         Delete = False"
            Add "         Err.Clear"
            Add "      End If"
            Add "End Function"
        
            'Busy
            g_Busy.Caption = "fill by ID"
            If Not g_Busy.ScheduleValueAdd() Then Exit Sub
            'fill by ID ,根据ID填充本对象
            Add "'" + txtTable.Text + " Fill By ID SQL ,根据ID填充本对象"
            Add "'参数  iID:对象的ID值"
            Add "Public function FillByID(byval sID as string) as boolean"
            Add "Dim rsTemp As ADODB.Recordset "
            Add "    Set rsTemp = New ADODB.Recordset"
                
            Add "    sSQL=" + Chr(34) + Chr(34)
            Add "    sSQL=sSQL+" + Chr(34) + " Select * from " + txtTable.Text + " where ID=" + Chr(34) + "+checkString(sID)"
            Add "    rsTemp.Open sSQL, g_cn"
            Add "      If rsTemp.RecordCount > 0 Then"
            rs.MoveFirst
            Do While Not rs.EOF
                'Busy
                If Not g_Busy.ScheduleValueAdd() Then Exit Sub
                Add "         m_" + rs("ColName").value + "=rsTemp.Fields(" + Chr(34) + rs("ColName").value + Chr(34) + ").Value"
            rs.MoveNext
            Loop
            Add "         FillByID = True"
            Add "      Else"
            Add "         FillByID = False"
            Add "      End If"
            Add "End Function"
            
            'Busy
            g_Busy.Caption = "GetList"
            If Not g_Busy.ScheduleValueAdd() Then Exit Sub
            'getList
            Add "'" + txtTable.Text + " get List Recordset SQL,根据条件返回本数据库的记录集"
            Add "'参数  sFields:查找到的记录集的字段列表;sWhere:找到记录的条件;sOrder:记录集的排序字段及方式"
            Add "Public function GetList(optional byval sFields as string =" + Chr(34) + "*" + Chr(34) + ",optional byval sWhere as String=" + Chr(34) + Chr(34) + ",optional byval sOrder as string =" + Chr(34) + Chr(34) + ") as RecordSet"
            Add "Dim rsTemp As ADODB.Recordset "
            Add "    Set rsTemp = New ADODB.Recordset"
            Add "    sSQL=" + Chr(34) + Chr(34)
            Add "    sSQL=sSQL+" + Chr(34) + " Select " + Chr(34) + "+ sFields +" + Chr(34) + " from " + txtTable.Text
            Add "    if Len(sWhere)>0 then "
            Add "       sSQL=sSQL+" + Chr(34) + " where " + Chr(34) + "+ sWhere "
            Add "    end if"
            Add "    if Len(sOrder)>0 then "
            Add "       sSQL=sSQL+" + Chr(34) + " Order by " + Chr(34) + "+ sOrder "
            Add "    end if"
            Add "    rsTemp.Open sSQL, g_cn"
            Add "    Set GetList=rsTemp"
            Add "End Function"
            
            'Busy
            g_Busy.Caption = "get Recordset by ID"
            If Not g_Busy.ScheduleValueAdd() Then Exit Sub
            'get Recordset by ID  根据ID返回本数据库的记录集
            Add "'" + txtTable.Text + " get Recordset By ID SQL,根据ID返回本数据库的记录集"
            Add "'参数  iID:对象的ID值;sFields:查找到的记录集的字段列表;sOrder:记录集的排序字段及方式"
            Add "Public function GetRecordsetByID(byval sID as string,optional byval sFields as string =" + Chr(34) + "*" + Chr(34) + ",optional byval sOrder as string =" + Chr(34) + Chr(34) + ") as ADODB.Recordset"
            Add "Dim rsTemp As ADODB.Recordset "
            Add "    Set rsTemp = New ADODB.Recordset"
                
            Add "    sSQL=" + Chr(34) + Chr(34)
            Add "    sSQL=sSQL+" + Chr(34) + " Select " + Chr(34) + "+ sFields +" + Chr(34) + " from " + txtTable.Text + " where ID=" + Chr(34) + "+checkString(sID)"
            Add "    if Len(sOrder)>0 then "
            Add "       sSQL=sSQL+" + Chr(34) + " Order by " + Chr(34) + "+ sOrder "
            Add "    end if"
            
            Add "    rsTemp.Open sSQL, g_cn"
            Add "    Set GetRecordsetByID=rsTemp"
            Add "End Function"
    'Busy
    g_Busy.Dispose
End Sub

Private Sub Form_Load()
Dim rsSysobjects As ADODB.Recordset

    Set rs = New ADODB.Recordset
    
    Set rsSysobjects = New ADODB.Recordset
    rsSysobjects.Open "select Name,ID from sysobjects where XType='U' order by Name", g_cn
    
    Do While Not rsSysobjects.EOF
        txtTable.AddItem rsSysobjects.Fields(0).value
        rsSysobjects.MoveNext
    Loop
    txtTable.ListIndex = 0
    Set rsSysobjects = Nothing
End Sub

Private Sub Form_Resize()
On Error Resume Next
    txtContent.Left = 10
    txtContent.Height = Me.Height - txtContent.Top - 200
    txtContent.Width = Me.Width - 100
    Line1.Y2 = Line1.Y1
    Line1.X2 = Me.Width
Err.Clear
End Sub

Private Sub Form_Unload(Cancel As Integer)
    g_Busy.Dispose
    Set rs = Nothing
End Sub


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -