|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
是否你平时写代码时,惯用手法是新增信息时写一段插入语句。如下图这样。或者是一行带过,有长又臭。
是否写完插入语句后,再像下面这样,写一遍插入语句
结果,维护起来时,内容多时,如果要修改,要去找第几行位置去修改语句。这种情况不知道大家有没有
起码我刚开始时,是这样写的。后来代码写多了,我感觉很费事,维护也不是很高效,所以我写一个函数,自创一个独特到方法来,偷懒
使用规范:
文本类型写法: 字段标题{W变量内容}| 如: "编号{W" & TextBox1.Text & "}|"
数值类型写法: 字段标题{S变量内容}| 如: "编号{S" & TextBox1.Text & "}|"
效果:
调用方法:
SQl = SQL_CHISHENGLONG("插入", VF, "客户档案") '生成插入语句
SQl = SQL_CHISHENGLONG("更新", VF, "客户档案") '生成更新语句
- Function SQL_CHISHENGLONG(ByVal A As String, ByVal B As String, ByVal C As String) '自动生成插入,更新语句
- SQL_CHISHENGLONG = ""
- Dim SQ1 As String
- Dim SQ2 As String
- Select Case A
- Case "插入"
- '解释语句
- For X As Integer = 0 To UBound(Split(B, "}|")) - 1
- Dim BT = Split(Split(B, "}|")(X), "{")(0) '标题
- Dim NR = ""
- If Split(B, "}|")(X) Like "*{W*" Then '判断是否为文本类型
- NR = "'" & Split(Split(B, "}|")(X), "{W")(1) & "'" '内容
- ElseIf Split(B, "}|")(X) Like "*{S*" Then '判断是否为数字类型
- NR = Split(Split(B, "}|")(X), "{S")(1) '内容
- Else
- Exit Function
- End If
- SQ1 = SQ1 & BT & ","
- SQ2 = SQ2 & NR & ","
- Next
- '除去最后逗号
- SQ1 = Left(SQ1, Len(SQ1) - 1)
- SQ2 = Left(SQ2, Len(SQ2) - 1)
- SQL_CHISHENGLONG= "INSERT INTO " & C & " ( " & SQ1 & ")VALUES (" & SQ2 & ")"
- Case "更新"
- '解释语句
- For X As Integer = 0 To UBound(Split(B, "}|")) - 1
- Dim BT = Split(Split(B, "}|")(X), "{")(0) '标题
- Dim NR = ""
- If Split(B, "}|")(X) Like "*{W*" Then '判断是否为文本类型
- NR = "'" & Split(Split(B, "}|")(X), "{W")(1) & "'" '内容
- ElseIf Split(B, "}|")(X) Like "*{S*" Then '判断是否为数字类型
- NR = Split(Split(B, "}|")(X), "{S")(1) '内容
- Else
- Exit Function
- End If
- SQ1 = SQ1 & BT & "=" & NR & ","
- Next
- '除去最后逗号
- SQ1 = Left(SQ1, Len(SQ1) - 1)
- SQL_CHISHENGLONG= "UPDATE " & C & " SET " & SQ1
- End Select
- End Function
复制代码 如果对你有帮助请送小鲜花,谢谢大家
|
评分
-
2
查看全部评分
-
|