| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1911 人关注过本帖
标题:multiple1902版主能不能告诉我怎么用 vbs 读取 Access 数据库并在浏览器中显 ...
只看楼主 加入收藏
ladapt
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-7-21
收藏
 问题点数:0 回复次数:2 
multiple1902版主能不能告诉我怎么用 vbs 读取 Access 数据库并在浏览器中显示出来
multiple1902版主能不能告诉我怎么用 vbs 连接、读取 Access 数据库并在浏览器中显示出来。请明示,本人比较笨,希望代码详细点...

另外,access数据库 位置在:H:\SYSchange\DeskTop\最新测试数据\AB.mdb

可以吗?
搜索更多相关主题的帖子: 浏览器 数据库 multiple vbs Access 
2008-07-23 20:21
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
首先,你写的是vbs代码,自然要符合vbs语言的规则。你之前写的是VB代码。

我也不想多写什么,可以给你看VBS读取数据库的示例,可以保存成vbs文件运行。

这样的代码是可以移植到网页里的(除了WScript.ScriptFullName这里,自己看看该改成什么。),至于输出的部分,使用 document对象的write方法可以向页面上的执行处写入HTML内容。报告完毕。

程序代码:
' by multiple1902
' written by 2008.1.9
Option Explicit

'主程序
Dim Conn    '数据库连接
Dim W,H,A    '体重,身高,年龄
Dim EnergyInNeed    '每日基础能量

'基本输入
'InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
W=InputBox("请输入您的体重,单位是千克","Input W","60")
H=InputBox("请输入您的身高,单位是厘米","Input H","160")
A=InputBox("请输入您的年龄,单位是年","Input A","20")

EnergyInNeed=jichunengliang(W,H,A)

'MsgBox(prompt[, buttons][, title][, helpfile, context])
Call Msgbox("根据计算,你每天需要消耗约" & EnergyInNeed & "大卡的能量,点击确定开始计算你每天消耗的葡萄糖能转化的能量",,"消耗能量计算结果")


If ConnectDatabase Then
    'If UCase(InputBox("是否添加食物?","Y/N?","N"))="Y" Then 
    '    Call AddFood
    'Else
        Dim Rs
        Set Rs=Conn.Execute("Select * From Foods")
        Dim EnergySum,Energy
        While Not Rs.EOF
            Energy=CSng(InputBox("请输入你每天吃" & Rs("F_Name") & "的量,单位:" & Rs("F_Unit"),Rs("F_Name") & ":每" & Rs("F_UnitName") & "提供" & Rs("F_Energy") & "大卡的能量","0"))*Rs("F_Energy")
            EnergySum=EnergySum+Energy
            Rs.MoveNext
        Wend
        Msgbox "你每天通过葡萄糖摄入" & FormatNumber(EnergySum,2) & "大卡的能量,刚才计算出的需求量是" & FormatNumber(EnergyInNeed,2) & "大卡"
    'End If
Else
    Call Msgbox("数据库连接出错,无法进行营养元素计算",,"数据库连接出错")
End If

'主程序结束

Sub AddFood()
    Dim FoodName,FoodUnit,FoodUnitName,FoodEnergy
    Do
        FoodName=""
        Do
            FoodName=InputBox("请输入食品的名称","FoodName")
        Loop Until FoodName<>""
        
        FoodUnit=0
        Do
            FoodUnit=InputBox("请输入食品单位的质量/g","FoodUnit")
        Loop Until IsNumeric(FoodUnit)
        
        FoodUnitName=""
        Do
            FoodUnitName=InputBox("请输入食品的单位名称","FoodUnitName","100g")
        Loop Until FoodUnitName<>""

        FoodEnergy=100
        Do
            FoodEnergy=InputBox("请输入食品单位的能量/大卡","FoodEnergy")
        Loop Until IsNumeric(FoodEnergy)
        
        If Not InputBox("确定添加吗?不添加请输入N" & vbCrLf & FoodName & "," & FoodUnit & "," & FoodUnitName & "," & FoodEnergy & "g","确定添加?","Y")="N" Then
            Conn.Execute "Insert Into Foods(F_Name,F_Unit,F_UnitName,F_Energy,F_Type) Values('" & Replace(FoodName,"'","''") & "'," & Replace(FoodUnit,"'","''") & ",'" & Replace(FoodUnitName,"'","''") & "'," & Replace(FoodEnergy,"'","''") & ",1)"
        End If
        
    Loop Until UCase(InputBox("继续添加吗?","Y,N?","Y"))="N"

End Sub

Function ConnectDatabase
    '连接数据库
    On Error Resume Next
    Dim Connstr,SqlDataBase,SqlProvider
    SqlDataBase = WScript.ScriptFullName
    SqlDataBase = Left(SqlDataBase,InstrRev(SqlDataBase,"\"))
    SqlDataBase    = SqlDataBase & "db1.mdb"
    'Msgbox SqlDataBase
    SqlProvider    = "Microsoft.Jet.OLEDB.4.0"        '驱动程序[ Microsoft.Jet.OLEDB.4.0  Microsoft.ACE.OLEDB.12.0 ]
    Connstr="Provider="&SqlProvider&";Data Source=" & SqlDataBase
    Set Conn=CreateObject("ADODB.Connection")
    ConnectDatabase=True
    If Not Err Then
        Conn.Open ConnStr
        If Err Then
            Msgbox "数据库连接出错,请检查连接字串。" & vbCrLf &Err.Source&" ("&Err.Number&")"
            Set Conn = Nothing
            Err.Clear
            ConnectDatabase=False
        End If
    Else
        Err.Clear
        ConnectDatabase=False
    End If
End Function

Function jichunengliang(W,H,A)
    '每日所需基础能量,单位:大卡
    '参数:W:体重/kg,H:身高/cm,A:年龄/岁
    jichunengliang=655.096+9.563*W+1.85*H-4.676*A
End Function

Function mol2kj(m)    '计算葡萄糖提供的能量
    '参数:m,葡萄糖的物质的量
    '函数值:葡萄糖提供的能量,单位:kJ
    mol2kj=m*1161
End Function

Function K2J(K)
    K2J=4.18*K
End Function

Function J2K(J)
    J2K=J/4.18
End Function



顺便发一下数据库。刚才在网页里测试成功了,你先把代码抄去,仔细研究,还不会再提问,说清楚哪里不会。

我这个代码不必深究,更不要研究里面非编程的内容。

[[it] 本帖最后由 multiple1902 于 2008-7-23 22:05 编辑 [/it]]

db1.rar (6.39 KB)
2008-07-23 22:02
ladapt
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-7-21
收藏
得分:0 
首先,谢谢版主的提供的东西,我也详细的看了下,我现在就对数据库连接,如何连接,如何读取数据不理解,然后在网页显示不理解,老大提供的这个数据库是空的,数据库的位置怎么放置啊?是试了下怎么不可以啊!!哎.....
这个和我想要的还是完全不同,我真的真的就想知道一点:

如何直接用脚本连接到数据库,然后把数据库里的内容显示到网页中,不要设置iis就能完成的,为什么就没有人理解我呢????

天哪!!!!!!!!!!!!!!!


Function ConnectDatabase
    '连接数据库
    On Error Resume Next
    Dim Connstr,SqlDataBase,SqlProvider
    SqlDataBase = WScript.ScriptFullName
    SqlDataBase = Left(SqlDataBase,InstrRev(SqlDataBase,"\"))
    SqlDataBase    = SqlDataBase & "db1.mdb"
    'Msgbox SqlDataBase
    SqlProvider    = "Microsoft.Jet.OLEDB.4.0"        '驱动程序[ Microsoft.Jet.OLEDB.4.0  Microsoft.ACE.OLEDB.12.0 ]
    Connstr="Provider="&SqlProvider&";Data Source=" & SqlDataBase
    Set Conn=CreateObject("ADODB.Connection")
    ConnectDatabase=True
    If Not Err Then
        Conn.Open ConnStr
        If Err Then
            Msgbox "数据库连接出错,请检查连接字串。" & vbCrLf &Err.Source&" ("&Err.Number&")"
            Set Conn = Nothing
            Err.Clear
            ConnectDatabase=False
        End If
    Else
        Err.Clear
        ConnectDatabase=False
    End If
End Function



我就需要连接数据库方面的语句,其他的一些vb的东西我可以慢慢弄!!
2008-07-23 23:21
快速回复:multiple1902版主能不能告诉我怎么用 vbs 读取 Access 数据库并在浏览 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023174 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved