亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? clsupdate.cls

?? visual basic 關(guān)于數(shù)據(jù)查詢操作練習(xí)很好的工具
?? CLS
字號(hào):
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "clsUPDATE"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

'This class provides an easier and more consistent way to build a SQL UPDATE statement
'Developed by Daniel Chirca

Private Const cnstUPDATE = "UPDATE"
Private Const cnstSET = "SET"
Private Const cnstWHERE = "WHERE"
Private Const cnstAND = "AND"
Private Const cnstOR = "OR"
Private Const cnstNOT = "NOT"
Private Const cnstSep = " "

Private m_TableName As String
Private m_TableAlias As String
Private m_CustomCondition As String
Private m_UPDATE As String

Private Type tValueType
  vValue As Variant
  eComparedDataType As eDataType
  bCompareValueNotTranslated As Boolean
End Type

Private Type tConditionType
  sColumnName As String
  eOperator As eOperatorType
  tValue As tValueType
End Type

Private Type tUpdateType
  sColumnName As String
  tValue As tValueType
End Type

Private m_Updates() As tUpdateType
Private m_Conditions() As tConditionType

Public Sub AddTable(strTableName As String, Optional strTableAlias As String)
  If Len(strTableName) > 0 Then
    m_TableName = strTableName
    
    If Not IsMissing(strTableAlias) And Len(strTableAlias) > 0 Then
      m_TableAlias = strTableAlias
    Else
      m_TableAlias = vbNullString
    End If
  End If
End Sub

Public Sub AddConditionColumn(strConditionColumnName As String, _
                        eOperator As eOperatorType, _
                        varVal As Variant, _
                        Optional eValDataType As eDataType = eString, _
                        Optional bDoNotTranslate As Boolean = False)

  If Len(strConditionColumnName) > 0 Then
    ReDim Preserve m_Conditions(0 To UBound(m_Conditions) + 1)
    
    m_Conditions(UBound(m_Conditions)).sColumnName = strConditionColumnName
    m_Conditions(UBound(m_Conditions)).eOperator = eOperator
    m_Conditions(UBound(m_Conditions)).tValue.vValue = varVal
    
    If Not IsMissing(eValDataType) Then
      m_Conditions(UBound(m_Conditions)).tValue.eComparedDataType = eValDataType
    Else
      m_Conditions(UBound(m_Conditions)).tValue.eComparedDataType = eString
    End If
    
    If Not IsMissing(bDoNotTranslate) Then
      m_Conditions(UBound(m_Conditions)).tValue.bCompareValueNotTranslated = bDoNotTranslate
    Else
      m_Conditions(UBound(m_Conditions)).tValue.bCompareValueNotTranslated = False
    End If
  End If
    
End Sub

Public Sub AddUpdateColumn(strUpdateColumnName As String, _
                        varVal As Variant, _
                        Optional eValDataType As eDataType = eString, _
                        Optional bDoNotTranslate As Boolean = False)

  If Len(strUpdateColumnName) > 0 Then
    ReDim Preserve m_Updates(0 To UBound(m_Updates) + 1)
    
    m_Updates(UBound(m_Updates)).sColumnName = strUpdateColumnName
    m_Updates(UBound(m_Updates)).tValue.vValue = varVal
    
    If Not IsMissing(eValDataType) Then
      m_Updates(UBound(m_Updates)).tValue.eComparedDataType = eValDataType
    Else
      m_Updates(UBound(m_Updates)).tValue.eComparedDataType = eString
    End If
    
    If Not IsMissing(bDoNotTranslate) Then
      m_Updates(UBound(m_Updates)).tValue.bCompareValueNotTranslated = bDoNotTranslate
    Else
      m_Updates(UBound(m_Updates)).tValue.bCompareValueNotTranslated = False
    End If
  End If
    
End Sub

Public Sub AddCustomCondition(strCustomCondition As String)
  If Len(strCustomCondition) > 0 Then
    m_CustomCondition = strCustomCondition
  End If
End Sub

Public Function BuildUPDATE() As String
  On Error GoTo ErrorHandler
    
  Dim StrTemp As String
  Dim i As Integer
  
  StrTemp = StrTemp + cnstUPDATE + cnstSep
  StrTemp = StrTemp + m_TableName
  If Len(m_TableAlias) > 0 Then
    StrTemp = StrTemp + cnstSep + m_TableAlias
  End If
  
  If UBound(m_Updates) > 0 Then
    StrTemp = StrTemp + cnstSep + cnstSET + cnstSep
    For i = 1 To UBound(m_Updates)
      With m_Updates(i)
        If m_TableAlias <> vbNullString Then
          StrTemp = StrTemp + m_TableAlias + "."
        Else
          StrTemp = StrTemp + m_TableName + "."
        End If
        
        StrTemp = StrTemp + .sColumnName
        StrTemp = StrTemp + cnstSep + "=" + cnstSep
      
        If .tValue.bCompareValueNotTranslated = True Then
          StrTemp = StrTemp + CStr(.tValue.vValue)
        Else
          If Len(CStr(.tValue.vValue)) > 0 Then
            Select Case .tValue.eComparedDataType
              Case eString
                StrTemp = StrTemp + "'" + CStr(.tValue.vValue) + "'"
              Case eInteger
                StrTemp = StrTemp + Format(CStr(.tValue.vValue), "General number")
              Case eDate
                StrTemp = StrTemp + "'" + Format(CStr(.tValue.vValue), "mm/dd/yyyy") + "'"
              Case eDecimal
                StrTemp = StrTemp + Format(CStr(.tValue.vValue), "Standard")
              Case eBool
                If CBool(.tValue.vValue) = True Then
                  StrTemp = StrTemp + CStr(1)
                Else
                  StrTemp = StrTemp + CStr(0)
                End If
            End Select
          End If
        End If
        
        If i <> UBound(m_Updates) Then
          StrTemp = StrTemp + "," + cnstSep
        End If
      End With
    Next
  End If
  
  If Len(m_CustomCondition) > 0 Then
    StrTemp = StrTemp + cnstSep + cnstWHERE + cnstSep + m_CustomCondition + cnstSep
  Else
    If UBound(m_Conditions) > 0 Then
      StrTemp = StrTemp + cnstSep + cnstWHERE + cnstSep
      For i = 1 To UBound(m_Conditions)
        With m_Conditions(i)
          If m_TableAlias <> vbNullString Then
            StrTemp = StrTemp + m_TableAlias + "."
          Else
            StrTemp = StrTemp + m_TableName + "."
          End If
          StrTemp = StrTemp + .sColumnName
          
          Select Case .eOperator
            Case cEqual
              StrTemp = StrTemp + cnstSep + "=" + cnstSep
            Case cLowerEqual
              StrTemp = StrTemp + cnstSep + "<=" + cnstSep
            Case cEqualGreater
              StrTemp = StrTemp + cnstSep + ">=" + cnstSep
            Case cLower
              StrTemp = StrTemp + cnstSep + "<" + cnstSep
            Case cGreater
              StrTemp = StrTemp + cnstSep + ">" + cnstSep
            Case cNonEqual
              StrTemp = StrTemp + cnstSep + "<>" + cnstSep
            Case cLIKE
              StrTemp = StrTemp + cnstSep + "LIKE" + cnstSep
            Case cNULL
              StrTemp = StrTemp + cnstSep + "IS NULL" + cnstSep
            Case cNOTNULL
              StrTemp = StrTemp + cnstSep + "IS NOT NULL" + cnstSep
          End Select
        
          If .tValue.bCompareValueNotTranslated = True Then
            StrTemp = StrTemp + CStr(.tValue.vValue)
          Else
            If Len(CStr(.tValue.vValue)) > 0 Then
              Select Case .tValue.eComparedDataType
                Case eString
                  StrTemp = StrTemp + "'" + CStr(.tValue.vValue) + "'"
                Case eInteger
                  StrTemp = StrTemp + Format(CStr(.tValue.vValue), "General number")
                Case eDate
                  StrTemp = StrTemp + "'" + Format(CStr(.tValue.vValue), "mm/dd/yyyy") + "'"
                Case eDecimal
                  StrTemp = StrTemp + Format(CStr(.tValue.vValue), "Standard")
                Case eBool
                  If CBool(.tValue.vValue) = True Then
                    StrTemp = StrTemp + CStr(1)
                  Else
                    StrTemp = StrTemp + CStr(0)
                  End If
              End Select
            End If
          End If
          
          If i <> UBound(m_Conditions) Then
            StrTemp = StrTemp + cnstSep + cnstAND + cnstSep
          End If
        End With
      Next
    End If
  End If
  
  BuildUPDATE = StrTemp
  
  Exit Function
  
ErrorHandler:
  On Error Resume Next
End Function

Private Sub Class_Initialize()
  Debug.Print "clsUPDATE class instance started."

  m_UPDATE = ""

  m_TableName = ""
  m_TableAlias = ""
  m_CustomCondition = ""
  
  ReDim m_Conditions(0)
  ReDim m_Updates(0)
End Sub

Public Sub ClearSQL()
  ReDim m_Updates(0)
  ReDim m_Conditions(0)
End Sub

Private Sub Class_Terminate()
  Debug.Print "clsUPDATE class instance closed."
End Sub




?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜一区二区| 一本色道久久综合亚洲91| 亚洲国产精品人人做人人爽| 亚洲视频一二三| 亚洲欧洲精品天堂一级| 国产精品拍天天在线| 亚洲国产激情av| 国产精品国产成人国产三级| 国产精品乱人伦| 亚洲男同性视频| 一区二区在线电影| 亚洲成人你懂的| 日本一区中文字幕| 国产精品一区专区| 成人国产精品免费观看动漫| 97精品久久久久中文字幕 | 欧美大片一区二区| 日韩午夜三级在线| 久久久久综合网| 国产精品盗摄一区二区三区| 夜色激情一区二区| 视频一区二区中文字幕| 蜜臀99久久精品久久久久久软件| 国产一区二区三区免费观看| www.av精品| 欧美一区二区三区婷婷月色| 国产欧美日韩不卡| 五月天激情综合网| 国产99久久久国产精品免费看| 色综合久久中文综合久久97| 欧美va日韩va| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲视频狠狠干| 欧美va亚洲va香蕉在线| 国产色综合久久| 性久久久久久久久久久久| 国产精品中文欧美| 91豆麻精品91久久久久久| 精品国产乱码久久久久久久| 日韩理论片在线| 国产最新精品精品你懂的| 色呦呦网站一区| 国产校园另类小说区| 日韩有码一区二区三区| 色综合久久天天综合网| 久久久久88色偷偷免费| 午夜欧美一区二区三区在线播放| 懂色av中文一区二区三区| 欧美一区二区三区成人| 亚洲精品视频免费观看| 成人性生交大片| 精品欧美久久久| 免费在线观看视频一区| 色婷婷亚洲精品| 中文字幕亚洲综合久久菠萝蜜| 久久国产精品无码网站| 7777精品伊人久久久大香线蕉 | 亚洲欧洲另类国产综合| 激情丁香综合五月| 日韩一区二区在线看| 五月综合激情网| 色综合天天综合网天天狠天天| 久久久综合视频| 九色综合国产一区二区三区| 欧美日韩国产大片| 亚洲一线二线三线久久久| 99re这里只有精品视频首页| 中文字幕av资源一区| 国产乱色国产精品免费视频| 欧美变态凌虐bdsm| 亚洲精选免费视频| 91久久免费观看| 亚洲一线二线三线视频| 欧美日韩一区二区三区在线看| 亚洲免费电影在线| 欧美体内she精视频| 亚洲国产另类精品专区| 欧美日韩精品二区第二页| 天天操天天色综合| 6080日韩午夜伦伦午夜伦| 天天色综合成人网| 日韩视频在线一区二区| 韩国毛片一区二区三区| 久久九九99视频| 成人av在线影院| 亚洲色大成网站www久久九九| av激情成人网| 亚洲国产日韩一区二区| 欧美日韩国产首页| 免费人成黄页网站在线一区二区| 欧美一二三区在线| 风流少妇一区二区| 亚洲精品日产精品乱码不卡| 精品视频资源站| 国精品**一区二区三区在线蜜桃| 中文字幕不卡在线| 91麻豆福利精品推荐| 亚洲午夜免费视频| 欧美一卡二卡在线观看| 成人污视频在线观看| 亚洲一区二区三区视频在线播放| 欧美一区二区三区免费大片 | 制服丝袜av成人在线看| 国产在线视频一区二区三区| 亚洲天天做日日做天天谢日日欢| 欧美日韩成人综合在线一区二区| 精品一区二区三区香蕉蜜桃| 亚洲欧洲av另类| 在线不卡中文字幕播放| 国产suv精品一区二区6| 三级久久三级久久| 亚洲国产精品成人综合| 91精品久久久久久久91蜜桃| 春色校园综合激情亚洲| 日本美女一区二区三区视频| 国产精品久久久久久久久果冻传媒 | 欧美精品一区二区三| 91激情五月电影| 国产一区啦啦啦在线观看| 亚洲国产视频直播| 中文字幕久久午夜不卡| 91精品国产综合久久国产大片 | 午夜激情综合网| 中文字幕第一区第二区| 日韩欧美在线不卡| 91精品办公室少妇高潮对白| 成人小视频免费观看| 久久国产视频网| 日韩一区精品视频| 夜夜亚洲天天久久| 国产精品不卡一区| 欧美精品一区二区三区高清aⅴ | 亚洲小说欧美激情另类| 欧美极品xxx| 欧美mv日韩mv| 日韩一区二区三| 欧美日本免费一区二区三区| 日本高清成人免费播放| 成人av免费在线播放| 国产丶欧美丶日本不卡视频| 日韩精品高清不卡| 午夜精品一区二区三区电影天堂| 中文字幕制服丝袜成人av| 国产亚洲综合色| 26uuu亚洲| 国产日本欧洲亚洲| 精品成人在线观看| 久久一夜天堂av一区二区三区| 日韩一区二区三区免费看| 欧美一级在线视频| 欧美一二三区在线观看| 欧美xxxxxxxxx| 欧美va天堂va视频va在线| 精品国产凹凸成av人导航| 久久尤物电影视频在线观看| 国产亚洲成aⅴ人片在线观看| 国产日韩欧美高清| 欧美高清在线视频| 亚洲视频在线一区观看| 亚洲欧美日韩国产一区二区三区| 中文字幕一区视频| 亚洲激情网站免费观看| 亚洲国产精品一区二区久久恐怖片 | 中文字幕不卡的av| 国产精品卡一卡二卡三| 亚洲精品美腿丝袜| 视频一区视频二区中文字幕| 免费成人av在线| 国产精品996| 色综合中文字幕国产 | 欧美一区二区三区免费视频 | 一区二区三区国产精品| 视频一区二区三区中文字幕| 麻豆91精品91久久久的内涵| 国产伦理精品不卡| 91天堂素人约啪| 欧美军同video69gay| 久久嫩草精品久久久久| 亚洲丝袜美腿综合| 日本三级韩国三级欧美三级| 国产成人aaa| 91色乱码一区二区三区| 欧美群妇大交群中文字幕| 久久这里只有精品首页| 亚洲免费观看视频| 日本视频免费一区| 99久久精品99国产精品| 欧美精选午夜久久久乱码6080| 久久一日本道色综合| 亚洲一卡二卡三卡四卡五卡| 狠狠狠色丁香婷婷综合久久五月| 91免费看`日韩一区二区| 91精品国产综合久久久蜜臀粉嫩| 国产亚洲成av人在线观看导航| 性久久久久久久久久久久| aaa国产一区| 久久伊99综合婷婷久久伊| 亚洲午夜日本在线观看| 床上的激情91.| 久久综合九色综合97婷婷女人|