VB的数据库处理

 处理字符串,合成SQL,然后执行。
分别是:查询、更改、删除、添加。
代码如下:
Public   Function get_all_single_column_info(ByVal TableName, ByVal columnid, ByVal condition) As String
On Error GoTo showErrors
    
Set clsLink = New DBManager
    
Dim strSQL
    
Dim tmpstr
    
Dim count As Integer
    count 
= 0
    
If condition = "" Then
        condition 
= "1=1"
    
End If
    strSQL 
= "SELECT * FROM " & TableName & " where " & condition
    
If (clsLink.connToSQL("Sports", loginForm.ipTEXT.Text, loginForm.dbuser, loginForm.dbpwd) = TrueThen
        
If clsLink.RecordSetDB(strSQL) = True Then
            
Set rst = clsLink.DBGetRecord
            rst.MoveFirst
            
            
While rst.EOF <> True
                
If count = 0 Then
                    tmpstr 
= rst.Fields(columnid)
                
Else
                    tmpstr 
= tmpstr & "||" & rst.Fields(columnid)
                
End If
                rst.MoveNext
                count 
= count + 1
            Wend
            get_all_single_column_info 
= tmpstr
            clsLink.CloseDB
            
Exit Function
        
Else
            get_all_single_column_info 
= ""
            clsLink.CloseDB
            
Exit Function
        
End If
        
    
Else
        get_all_single_column_info 
= ""
        clsLink.CloseDB
        
Exit Function
    
End If
    
Exit Function
showErrors:
    get_all_single_column_info 
= ""
    
'MsgBox Err.Description
    clsLink.CloseDB
End Function


' modify_str: 列名1=值1,列名2=值2...
Public   Function modify(ByVal TableName, ByVal modify_str, ByVal condition) As Boolean
On Error GoTo showErrors
    
Set clsLink = New DBManager
    
Dim strSQL
    
If condition = "" Then
        condition 
= "1=1"
    
End If
    strSQL 
= "UPDATE " + TableName + " SET " + modify_str + " WHERE " + condition
    
If (clsLink.connToSQL("Sports", loginForm.ipTEXT.Text, loginForm.dbuser, loginForm.dbpwd) = TrueThen
        
If clsLink.ExecuteSQL(strSQL) = True Then
            modify 
= True
            clsLink.CloseDB
        
Else
            modify 
= False
            clsLink.CloseDB
        
End If
    
End If
    
Exit Function
showErrors:
    modify 
= False
    clsLink.CloseDB
End Function


Public   Function delete(ByVal TableName, ByVal condition) As Boolean
On Error GoTo showErrors
    
Set clsLink = New DBManager
    
Dim strSQL
    
If condition = "" Then
        condition 
= "1=1"
    
End If
    strSQL 
= "DELETE FROM " + TableName + " WHERE " + condition
    
If (clsLink.connToSQL("Sports", loginForm.ipTEXT.Text, loginForm.dbuser, loginForm.dbpwd) = TrueThen
        
If clsLink.ExecuteSQL(strSQL) = True Then
            delete 
= True
            clsLink.CloseDB
        
Else
            delete 
= False
            clsLink.CloseDB
        
End If
    
End If
    
Exit Function
showErrors:
    delete 
= False
    clsLink.CloseDB
End Function


'  要求:
'
 在    字段==值  这一部分要求==两边没有空格。不进行语法分析,不可以再使用 “|”来分割字符串
Public   Function insert(ByVal TableName, ByVal insertString) As Boolean
On Error GoTo showErrors
    
Set clsLink = New DBManager
    
Dim strSQL
    
If Trim(insertString) = "" Then
        insert 
= False
        
Exit Function
    
End If
    
    
Dim Tmpin
    
Dim names
    
Dim values
    Tmpin 
= Split(insertString, ",")
    
Dim i
    
Dim tmpstr
    
Dim tmpstrin
    
For i = 0 To UBound(Tmpin)
        tmpstr 
= Trim(Tmpin(i))
        tmpstrin 
= Split(tmpstr, "==")
        
If i = 0 Then
            names 
= tmpstrin(0)
            values 
= tmpstrin(1)
        
Else
            names 
= names + "|" + tmpstrin(0)
            values 
= values + "|" + tmpstrin(1)
        
End If
    
Next i
    
Dim tmpname
    
Dim tmpvalue
    tmpname 
= Split(names, "|")
    tmpvalue 
= Split(values, "|")
    
For i = 0 To UBound(tmpname)
        
If i = 0 Then
            tmpstr 
= tmpname(i)
            Tmpin 
= tmpvalue(i)
        
Else
            tmpstr 
= tmpstr + "," + tmpname(i)
            Tmpin 
= Tmpin + "," + tmpvalue(i)
        
End If
    
Next i
    strSQL 
= "INSERT INTO " & TableName & " ( " & tmpstr & " ) VALUES (" & Tmpin & ")"
    
If (clsLink.connToSQL("Sports", loginForm.ipTEXT.Text, loginForm.dbuser, loginForm.dbpwd) = TrueThen
        
If clsLink.ExecuteSQL(strSQL) = True Then
            insert 
= True
            clsLink.CloseDB
        
Else
            insert 
= False
            clsLink.CloseDB
        
End If
    
End If
    
Exit Function
showErrors:
    insert 
= False
    clsLink.CloseDB
End Function

以上。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值