zoukankan      html  css  js  c++  java
  • VBS编辑字段

    '为已经创建好的数据表添加字段
    '参数:strDBPath 字符串型 数据库路径
    '参数:strTableName 字符串型 需要创建的数据表的名称
    '参数:strColumnName 字符串型 需要添加的字段名称
    '参数:strColumnType 字符串型 需要添加的字段数据类型
    Sub AddColumn(strDBPath, strTableName, strColumnName, strColumnType)
        Dim connObj
        Set connObj = CreateObject("ADODB.Connection")
        connObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source = " & strDBPath
        connObj.Execute "ALTER TABLE " & strTableName& vbCrLf & _
        "ADD " & strColumnName & " "& strColumnType
        connObj.Close
        Set connObj = Nothing
    EndSub

    '例子如下:

    AddColumn "C:Test.mdb", "TestTable", "测试添加字段", "varchar(255)"

    '为C:Test.mdb中的TestTable表添加 名称为 测试添加字段 数据类型为 字符串型 的字段

    '删除字段
    '参数跟上面的一样,就不多做介绍了,为什么是3个参数,删除字段,只要字段名称就完事了,扯不到数据类型。
    Sub DeleteColumn(strDBPath, strTableName, strColumnName)
        Dim connObj
        Set connObj = CreateObject("ADODB.Connection")
        connObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source = " & strDBPath
        connObj.Execute "ALTER TABLE " & strTableName& vbCrLf & _
        "DROP COLUMN " & strColumnName
        connObj.Close
        Set connObj = Nothing
    EndSub

    '使用例子:
    DeleteColumn "C:Test.mdb", "TestTable", "测试添加字段"

    '修改字段的数据类型
    '参数同AddColumn
    Sub AlterColumnType(strDBPath, strTableName, strColumnName, strColumnType)
        Dim connObj
        Set connObj = CreateObject("ADODB.Connection")
        connObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source = " & strDBPath
        connObj.Execute "ALTER TABLE " & strTableName& vbCrLf & _
        "ALTER COLUMN " & strColumnName & " " & strColumnType
        connObj.Close
        Set connObj = Nothing
    EndSub

    '使用例子:
    AlterColumnType "C:Test.mdb", "TestTable", "测试添加字段", "int"

    '字段重命名
    '参数:strDBPath 数据库所在路径
    '参数:strTableName 表名称
    '参数:strOldName 旧字段名
    '参数:strNewName 新字段名
    Sub AlterColumnName(strDBPath, strTableName, strOldName, strNewName)
        Dim catObj
        Set catObj = CreateObject("ADOX.Catalog")
        catObj.ActiveConnection="Provider=Microsoft.Jet.OLEDB.4.0;"& _
        "Data Source= " & strDBPath
        catObj.Tables(strTableName).Columns(strOldName) = strNewName
        Set catObj = Nothing
    EndSub

    '字段重命名并非是用的ADODB.Connection对象,而是用的ADOX.Catalog对象,也就是创建数据库的这个对象,如果认真读代码,并且认真了解过的人,一眼就看出怎么进行数据表重命名的操作了,我也就不用说了。

    '使用例子
    AlterColumnName "C:Test.mdb", "TestTable", "测试添加字段", "测试修改"

    '将C:Test.mdb的TestTable表中的 "测试添加字段" 重命名 为 "测试修改"

    '执行SQL语句
    '留出一个直接用SQL进行数据表操作的函数。
    '其实认真学习的人,自己随便都可以写了。
    Sub TableExecuteSQL(strDBPath, strSQLCode)
        Dim connObj
        Set connObj = CreateObject("ADODB.Connection")
        connObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source = " & strDBPath
        connObj.Execute strSQLCode
        connObj.Close
        Set connObj = Nothing
    EndSub

    Dim connObj,rsObj
    Set connObj = CreateObject("ADODB.Connection") 
    '还是需要用到ADODB.Connection对象来进行数据库的连接
    connObj.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=C:Test.mdb"
    '可以先把连接数据库的参数写到对象的ConnectionString属性中,Open的时候就可以不用写参数了。
    connObj.Open
    Set rsObj = CreateObject("ADODB.RecordSet") '数据的操作,主要靠的是ADODB.RecordSet对象
    '好吧,打开数据表。
    rsObj.Open "select * FROM TestTable", connObj, 1, 3
    '关于参数 "select * FROM TestTable" 这就是SQL的语句了,意思是,FROM 从TestTable表中 打开select *任意字段名
    '第二个参数就是已经连接好数据库的ADODB.Connection对象connObj
    '第3个参数和第4个参数,100个帖子里面都是1,3,我也不知道具体啥意思,反正能用就可以了,有兴趣的自己百度ADODB.RecordSet研究去。
    '我们先来添加一条数据
    rsObj.AddNew 
    '添加很简单,就AddNew就完事了,添加之后,就需要填入各字段的数据了。
    IfNot rsObj.Eof Then
    rsObj("姓名") = "张三"
    rsObj("性别") = "男"
    rsObj("年龄") = 20
    EndIf
    '好了,这就填完了,简单吧,关于Eof属性,我在明天会详细介绍,百度上搜出来的东西,都太专业了,我都理解了好半天并且测试之后才玩懂了。
    '我们多添加几条吧
    rsObj.AddNew
    IfNot rsObj.Eof Then
    rsObj("姓名") = "李四"
    rsObj("性别") = "男"
    rsObj("年龄") = 21
    EndIf
    rsObj.AddNew
    IfNot rsObj.Eof Then
    rsObj("姓名") = "王二"
    rsObj("性别") = "男"
    rsObj("年龄") = 22
    EndIf
    '整个妹子吧
    rsObj.AddNew
    IfNot rsObj.Eof Then
    rsObj("姓名") = "小倩"
    rsObj("性别") = "女"
    rsObj("年龄") = 18
    EndIf

    '再整个不正常的
    rsObj.AddNew
    IfNot rsObj.Eof Then
    rsObj("姓名") = "骡子"
    rsObj("性别") = "未知"
    rsObj("年龄") = 2
    EndIf
    rsObj.Update '更新操作后的数据库。
    '好了,添加数据,就暂时到这里。
    '我们再来看看,打开时,直接查找数据
    rsObj.Open "select * FROM TestTable where 姓名 = '"& "骡子" & "'", connObj, 1, 3'FROM 从表 TData 中where 
    '中的字段 姓名 查找 字段名为 '张三' 的数据。
    '请自己注意看SQL语句的代码,SQL语句中,字符串常量是要用单引号的 如:'张三' '李四' '小倩' 
    ifNot rsObj.Eof Then
    MsgBox rsObj("性别") '如果找到,则弹出骡子的性别。
    rsObj("性别") = "公"'修改骡子的性别
    EndIf
    rsObj.Update '更新操作后的数据库。
    MsgBox rsObj("性别") '再次弹出骡子的性别
    rsObj.Delete '删除关于骡子的这整条数据
    rsObj.Update '更新操作后的数据库。
    rsObj.Close '最后别忘了关闭操作句柄
    connObj.Close '关闭连接
    Set rsObj = Nothing
    Set connObj = Nothing

    '在表中新增一条数据
    '参数:strDBPath 字符串型 数据库所在路径
    '参数:strTableName 字符串型 数据表名称
    '参数:strData 字符串型 写入各个字段的值,关于该参数的详细说明在下面,请先看使用例子。

    Sub AddNewData(strDBPath, strTableName, strData)
    Dim connObj, rsObj, catObj, saData, saPlace, i, saTemp, saType, saCol, saCon
    Set connObj = CreateObject("ADODB.Connection")

    connObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source = " & strDBPath

    Set rsObj = CreateObject("ADODB.RecordSet")
    rsObj.Open "select * FROM " & strTableName, connObj, 1, 3

    rsObj.AddNew

    Set catObj = CreateObject("ADOX.Catalog")
    catObj.ActiveConnection="Provider=Microsoft.Jet.OLEDB.4.0;"& _
    "Data Source= " & strDBPath

    saData = Split(strData, ",")
    saPlace = UBound(saData)
    For i = 0To saPlace
    saTemp=Split(saData(i),"=")
    saCol=Trim(saTemp(0))
    saType = catObj.Tables(strTableName).Columns(saCol).Type
    If saType = 202Then
    saCon = CStr(Trim(saTemp(1)))
    ElseIf saType = 3Then
    saCon = CInt(Trim(saTemp(1)))
    EndIf
    rsObj(saCol)=saCon
    'MsgBox saCol & "," & saType& "," & saCon
    Next
    rsObj.Update
    rsObj.Close
    connObj.Close
    Set rsObj = Nothing
    Set connObj = Nothing
    Set catObj = Nothing
    EndSub


    '使用例子
    AddNewData "C:Test.mdb", "TestTable", "姓名=赵钱孙, 性别=男,年龄=24"

  • 相关阅读:
    js对象数组(JSON) 根据某个共同字段 分组
    一个 函数 用来转化esSearch 的range 条件
    关于 vuex 报错 Do not mutate vuex store state outside mutation handlers.
    android listview 重用view导致的选择混乱问题
    android SDK和ADT的更新
    Android中adb push和adb install的使用区别
    pycharm中添加扩展工具pylint
    su Authentication failure解决
    Putty以及adb网络调试
    有关android源码编译的几个问题
  • 原文地址:https://www.cnblogs.com/futrueface/p/4123314.html
Copyright © 2011-2022 走看看