码迷,mamicode.com
首页 > 数据库 > 详细

VB 数据库操作函数(my_db_sql.cls)

时间:2020-09-17 12:42:08      阅读:37      评论:0      收藏:0      [点我收藏+]

标签:keyset   ring   txt   amp   end   oca   add   adt   cursor   

//my_db_sql.cls

//查询数据
Public Function F_select(sqloledb_string As Variant, select_from As Variant, select_id As Variant, select_field As Variant, String_id As Variant) As String
    F_select = ""
    If select_id <> "" And select_field <> "" Then
        Dim db As Connection
        Set db = New Connection
        db.CursorLocation = adUseClient
        db.Open sqloledb_string
        Set rs = New Recordset
        select_string = "select " & select_field & " from " & select_from & " where " & select_id & " =‘" & String_id & "‘"
        rs.Open select_string, db, adOpenStatic, adLockOptimistic
        mm = Val(rs.RecordCount)
        If mm <> "" Then
            String2 = ""
            For t = 0 To Val(rs.RecordCount) - 1
                String2 = Trim(rs.Fields(select_field).Value) & "|" & String2
                rs.MoveNext
            Next t
            If Val(rs.RecordCount) > 0 Then
                F_select = String2
               Else
                F_select = "0"
            End If
        End If
        rs.Close
    End If
End Function
//写入数据
Public Function F_update(sqloledb_string As Variant, select_from As Variant, select_id As Variant, update_field As Variant, String_id As Variant, String2 As Variant) As String
    F_update = ""
    If String_id <> "" And String2 <> "" Then
        Dim db As Connection
        Set db = New Connection
        db.CursorLocation = adUseClient
        db.Open sqloledb_string
        Set rs = New Recordset
        select_string = "select " & select_id & " from " & select_from & " where " & select_id & " =‘" & String_id & "‘"
        rs.Open select_string, db, adOpenStatic, adLockOptimistic
        Dim mm
        mm = Val(rs.RecordCount)
        If mm <> "" Then
            If mm > 0 Then
               update_string = "update " & select_from & " set " & update_field & "= ‘" & String2 & "‘  where " & select_id & "=‘" & String_id & "‘ "
    //           MsgBox (update_string)
               db.Execute update_string
                F_update = "1"
            Else
                F_update = "0"
            End If
        End If
        rs.Close
    End If
End Function

//插入数据
Public Function F_insert(sqloledb_string As Variant, select_from As Variant, insert_field As Variant, String1 As Variant) As String
    F_insert = ""
    If insert_field <> "" And String1 <> "" Then
        Dim db As Connection
        Set db = New Connection
        db.CursorLocation = adUseClient
        db.Open sqloledb_string
        Set rs = New Recordset
        select_string = "select * from " & select_from & " where " & insert_field & " =‘" & String1 & "‘"
        rs.Open select_string, db, adOpenStatic, adLockOptimistic
        Dim mm
        mm = Val(rs.RecordCount)
        If mm <> "" Then
            If mm = 0 Then
               insert_string = "insert  " & select_from & " ( " & insert_field & " )  select ‘" & String1 & "‘"
               db.Execute insert_string
                F_insert = "1"
               Else
                F_insert = "0"
            End If
        End If
        rs.Close
    End If
End Function
//查询字段
Public Function F_get_field(sqloledb_string As Variant, select_from As Variant, select_id As Variant, select_field As Variant, String_id As Variant) As String
    F_get_field = ""
    If select_id <> "" And select_field <> "" Then
        On Error Resume Next
         Dim select_string As String, st, mm
        select_string = "select  " & select_field & "  from  " & select_from & "  where " & select_id & " = ‘" & String_id & "‘"
        Dim db As Connection
        Set db = New Connection
        db.CursorLocation = adUseClient
        db.Open sqloledb_string
        Set rs = New Recordset
        rs.Open select_string, db, adOpenStatic, adLockOptimistic
        mm = Val(rs.RecordCount)
        If mm <> "" Then
                st = Trim(rs.Fields(select_field).Value)
            If Val(rs.RecordCount) > 0 Then
                If st <> "" Then
                    F_get_field = st
                Else
                    F_get_field = "0"
                End If
            End If
        End If
//        MsgBox "返回字段:" & F_get_field
        rs.Close
    End If
End Function

Public Function F_pict_savedb(sqloledb_string As Variant, select_from As Variant, fields_1 As Variant, fields_2 As Variant, fields_3 As Variant, strfilename As Variant, macname As Variant, txtName As Variant) As String
    On Error Resume Next
    F_pict_savedb = ""
    If strfilename <> "" And txtName = "" Then
        F_pict_savedb = ""
    Else
        Set cn = New ADODB.Connection
        Set rs = New ADODB.Recordset
        Set stm = New ADODB.Stream
        select_string = "select * from " & select_from
        cn.ConnectionString = sqloledb_string
        cn.Open
        stm.type = adTypeBinary  
                //类型为一二进制数组
        stm.Open
        stm.LoadFromFile strfilename          
                //图片路径
        rs.Open select_string, cn, adOpenKeyset, adLockOptimistic
        rs.AddNew
        rs.Fields(fields_1).Value = macname  
                //pc_mac 存的文件名
        rs.Fields(fields_2).Value = txtName  
                //pc_mac 存的文件名
        rs.Fields(fields_3).Value = stm.Read 
                //图片文件
        rs.Update
        rs.Close
        stm.Close
         F_pict_savedb = "1"
    End If
End Function

VB 数据库操作函数(my_db_sql.cls)

标签:keyset   ring   txt   amp   end   oca   add   adt   cursor   

原文地址:https://blog.51cto.com/12815848/2528257

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!