|
= True End Function
'''' /----生成更新语句----/ Public Function getUpdate() Dim strSQLTemplate : strSQLTemplate = "UPDATA {table} SET {updatecontent} {conditions}" If VarType(strTableName) = 1 Then Exit Function strSQLTemplate = Replace(strSQLTemplate, "{table}", strTableName) If Process(objFields, "UPDATE") <> False Then strSQLTemplate = Replace(strSQLTemplate, "{updatecontent}", Process(objFields, "UPDATE")) Else strSQLTemplate = Replace(strSQLTemplate, "{updatecontent}", "") End If If VarType(strCondition) <> 1 And strCondition <> "" Then strSQLTemplate = Replace(strSQLTemplate, "{conditions}", " WHERE " & strCondition) Else strSQLTemplate = Replace(strSQLTemplate, "{conditions}", "") End If getUpdate = strSQLTemplate blnState = True End Function
'''' /----生成删除语句----/
Public Function getDelete() Dim strSQLTemplate : strSQLTemplate = "DELETE FROM {table} {conditions}" If VarType(strTableName) = 1 Then Exit Function strSQLTemplate = Replace(strSQLTemplate, "{table}", strTableName) If VarType(strCondition) <> 1 And strCondition <> "" Then strSQLTemplate = Replace(strSQLTemplate, "{conditions}", " WHERE " & strCondition) Else strSQLTemplate = Replace(strSQLTemplate, "{conditions}", "") End If getDelete = strSQLTemplate blnState = True End Function
'''' /----生成取记录数语句----/
Public Function getCount() Dim strSQLTemplate : strSQLTemplate = "SELECT COUNT(*) FROM {table} {conditions}" If VarType(strTableName) = 1 Then Exit Function strSQLTemplate = Replace(strSQLTemplate, "{table}", strTableName) If VarType(strCondition) <> 1 And strCondition <> "" Then strSQLTemplate = Replace(strSQLTemplate, "{conditions}", " WHERE " & strCondition) Else strSQLTemplate = Replace(strSQLTemplate, "{conditions}", "") End If getCount = strSQLTemplate blnState = True End Function
'''' /----添加处理字段及相应值----/
Public Sub AddField(ByVal sField, ByVal sValue) If VarType(sField) = 8 And Len(sField) > 0 And (VarType(sValue) = 8 Or VarType(sValue) <> 1) Then objFields.Add ProcessField(sField), ProcessValue(sValue) End If End Sub '''' /----添加条件字段及相应值----/
Public Sub AddCField(ByVal sField, ByVal sValue) If VarType(sField) = 8 And Len(sField) > 0 And VarType(sValue) = 8 And Len(sValue) > 0 Then Dim strCDTemplate : strCDTemplate = "{Field}{Operator}{value}" strCDTemplate = Replace(strCDTemplate,"{Field}", ProcessField(sField)) strCDTemplate = Replace(strCDTemplate,"{Operator}"," " & strOperator & " ") If UCase(strOperator) = "LIKE" Then strCDTemplate = Replace(strCDTemplate,"{value}","''''%" & Safe(sValue) & "%''''") Else strCDTemplate = Replace(strCDTemplate,"{value}",ProcessValue(sValue)) End If If VarType(strCondition) = 1 Then ReDim aContition(0) aContition(0) = strCDTemplate strCondition = Join(aContition, strLogic) Else strCondition = aContition(0) ReDim aContition(1) aContition(0) = strCondition aContition(1) = strCDTemplate strCondition = Join(aContition, strLogic) aContition(0) = strCondition End If ''''Response.Write strCondition & "<br>" End If End Sub
'''' /----指定表名或视图名----/
Public Property Let Table(ByVal s) If VarType(s) = 8 And Len(s) > 0 Then strTableName = "[" & s & "]" End Property
'''' /----设定主键----/
Public Property Let PrimaryKey(ByVal s) If VarType(s) = 8 And Len(s) > 0 Then strPKey = "[" & s & "]" End Property
'''' /----主键排序----/
Public Property Let Sort(ByVal s) If VarType(s) = 8 And Len(s) > 0 Then strPKeySort = UCase(s) End Property
'''' /----更改条件子句操作符----/
Public Property Let Operator(ByVal s) If VarType(s) = 8 And Len(s) > 0 Then strOperator = UCase(s) End Property
'''' /----更改条件子句逻辑----/
Public Property Let Logic(ByVal s) If VarType(s) = 8 And Len(s) > 0 Then strLogic = " " & UCase(s) & " " End Property
'''' /----返回返执行状态----/
Public Property Get ActionState ActionState = blnState End Property
End Class
'''' /----演视开始----/
Dim sql, T1, T2
T1 = Timer()
Set sql = New QuestStringBuilder sql.AddField "FRemark", "这是一个备注" sql.AddField "FName", "思源" sql.AddField "FCode", 120245 sql.Operator = "<" sql.AddCField "FID", 1000 sql.Logic = "or" sql.Operator = "like" sql.AddCField "FFriend", "思源" sql.Table = "FriendShip" sql.PrimaryKey = "FID" sql.Sort = "desc"
Response.Write "<pre>" Response.Write "<font color=blue>基于ASP(VBS版)的简单SQL语句生成“类”:</font>" Response.Write "<br>" & vbCrLf Response.Write "查询语句:<font color=#666666>" & Sql.getSelect() & "</font>" Response.Write "<br>" & vbCrLf Response.Write "插入语句:<font color=#666666>" & Sql.getInsert() & "</font>" Response.Write "<br>" & vbCrLf Response.Write "更新语句:<font color=#666666>" & Sql.getUpdate() & "</font>" Response.Write "<br>" & vbCrLf Response.Write "删除语句:<font color=#666666>" & Sql.getDelete() & "</font>" Response.Write "<br>" & vbCrLf Response.Write "取记录数:<font color=#666666>" & Sql.getCount() & "</font>"
''''sql.Clear()
Response.Write "<br>" & vbCrLf
Response.Write "生成SQL语句是否成功:<font color=#666666>" & sql.ActionState & "</font>" Set sql = Nothing
T2 = Timer()
Response.Write "<br>" & vbCrLf
上一页 [1] [2] [3] 下一页 [Access]sql随机抽取记录 [Access]ASP&SQL让select查询结果随机排序的实现方法 [系统软件]REGULAR EXPRESSION IN VBSCRIPT [系统软件]SQL语句性能优化--LECCO SQL Expert [C语言系列]SQL Server到DB2连接服务器的实现 [C语言系列]SQL Server到SYBASE连接服务器的实现 [C语言系列]SQL Server到SQLBASE连接服务器的实现 [C语言系列]SQL Server连接VFP数据库的实现 [C语言系列]ASP+SQL Server之图象数据处理 [C语言系列]SQL Server连接ACCESS数据库的实现
|