1. 程式人生 > >VB Script資料庫中表值的讀取---DW

VB Script資料庫中表值的讀取---DW

1、建立一個提供VBScript指令碼支援的站點

2.建立一個數據庫,命名為rsgl.mdb,並新建一個表  職工工資,並放入所建站點中,建好後在表格中插入一些記錄


3.建立一個主介面,命名為main.asp

<HTML>
  <FRAMESET ROWS="100, *" BORDER="0">
    <FRAME NAME="Top" NORESIZE SCROLLING="No" SRC="Menu.asp">
    <FRAME NAME="Bottom" NORESIZE SRC="List1.asp">
  </FRAMSET>
</HTML>

4.建立一個Menu.asp頁面用來控制顯示資料庫中的資料記錄

<HTML>
  <BODY BGCOLOR="#9CCDCD">
    <P align=center><FONT face=隸書 size=6>職工工資管理</FONT>
    <TABLE ALIGN="Center" WIDTH="100%" BORDER="0">
      <TR HEIGHT="30" BGCOLOR="#EDF5F5" ALIGN="Center">
        <TD><A HREF="List1.asp?no=First" TARGET="Bottom">第一個</A></TD>
        <TD><A HREF="List1.asp?no=Previous" TARGET="Bottom">上一個</A>
        <TD><A HREF="List1.asp?no=next" TARGET="Bottom">下一個</A>
        <TD><A HREF="List1.asp?no=last" TARGET="Bottom">最後一個</A>
        <TD><A HREF="List2.asp" TARGET="Bottom">修改</A></TD>
        <TD><A HREF="List3.asp" TARGET="Bottom">增加</A></TD>
        <TD><A HREF="List4.asp" TARGET="Bottom">刪除</A></TD>
      </TR>
    </TABLE>
  </BODY>
</HTML>


5.為顯示記錄,建立一個List1.asp的頁面,並在其中連結資料庫

<HTML>
  <HEAD><title>職工工資</title></HEAD>
  <BODY>
<%
  Sub ShowPage(objRS,no)
    objRS.AbsolutePosition=no              ' 指定當前記錄號
      ' 顯示單記錄
    For J=0 To objRS.Fields.Count-1
      Data="<TR><td >" & objRS.Fields(j).name & "</td>"
      Data=Data & "<td>" & objRS.Fields(j).Value & "</td>"
      Response.Write data
    Next
  End Sub
  set conn=server.createobject("adodb.Connection")
  CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="
  conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")
  conn.Open
  set rs=server.createobject("adodb.recordset")
  rs.open "職工工資",conn,1,2,2
  If Request("no") = "" Then
    Session("no")=1
  else
select case Request("no")
      case "First"
        Session("no")=1
      case "Previous"
        Session("no")=Session("no")-1
      case "next"
        Session("no")=Session("no")+1
      case "last"
        Session("no")=RS.RecordCount
    end select
  End If
  if Session("no")>RS.RecordCount then Session("no")=RS.RecordCount
  if Session("no")<1 then Session("no")=1
  Response.write "<table border=1 align=center cellspacing=0 cellpadding=4 height=390>"
  Response.write "<TR><td width=100><td width=195>"
  ShowPage RS, Session("no")
  Response.write "</table>"
  RS.close
  set RS=nothing
  conn.close
  set conn=nothing
%>
  </BODY>
</HTML>


6.為修改增加一個List2.asp頁面

<HTML>
  <HEAD><title>職工工資</title></HEAD>
  <BODY>
    <FORM align=center METHOD='POST' name=frm1 ACTION='list2.asp'>
    <table border=1 align=center cellspacing=0 cellpadding=4  height=390>
      <TR><td width=100><td width=195>
<%
  Sub ShowPage(objRS,no,a)
    objRS.AbsolutePosition=no
    if len(a)>0 then
      For J=1 To objRS.Fields.Count
        objRS.Fields(j-1).value=a(j)
      next
      objRS.Update
    end if
    For J=0 To objRS.Fields.Count-1
      Data="<TR><td >" & objRS.Fields(j).name 
      Data=Data & "<td><Input Type=text name='txt' value=" & objRS.Fields(j).Value & ">"
      Response.Write data
    Next
  End Sub
set conn=server.createobject("adodb.Connection")
  CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="
  conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")
  conn.Open
  set rs=server.createobject("adodb.recordset")
  rs.open "職工工資",conn,1,2,2
  If Session("no") = "" Then
    Session("no")=1
  End If
  ShowPage RS, Session("no"),Request.form("txt")   ' 以提交的Txt內容修改當前記錄
  Response.write "</table>"
  RS.close  
  conn.close%>
    <table border=0 align=center height=50>
      <tr><td><INPUT type=submit value="確定修改">
    </table>
    <SCRIPT for=txt event=onchange LANGUAGE=VBScript>
      w= ccur(frm1.txt(3).value)+frm1.txt(4).value+frm1.txt(5).value+frm1.txt(6).value
      w=w-frm1.txt(7).value-frm1.txt(8).value
      frm1.txt(9).value=w
    </SCRIPT>
    </Form>
  </BODY>
</HTML>



7.為增加一條記錄新增List3.asp頁面

<HTML>
  <HEAD><title>職工工資</title></HEAD>
  <BODY LANGUAGE=VBScript>
    <FORM METHOD='POST' name=frm1 ACTION='list3.asp'>
      <table border=1 align=center cellspacing=0 cellpadding=4 height=390>
        <TR><td width=100><td width=195>
        <TR><td >部門<td>
            <SELECT id=select1 style="width:100px" name=select1> 
              <OPTION value="04">保衛<OPTION value="05">財務
              <OPTION value="03">供銷<OPTION value="02">技術<OPTION value="01">生產
            </SELECT>
            <Input Type=hidden name=hid value='保衛'>
        <TR><td>編號<td><Input Type=text name=txt1 value=''>
        <TR><td>姓名<td><Input Type=text name=txt2 value=''>
        <TR><td>基本工資<td><Input Type=text name=txt value=0>
        <TR><td>崗位津貼<td><Input Type=text name=txt value=0>
        <TR><td>職務補貼<td><Input Type=text name=txt value=0>
        <TR><td>獎金<td><Input Type=text name=txt value=0>
        <TR><td>房租<td><Input Type=text name=txt value=0>
        <TR><td>水電<td><Input Type=text name=txt value=0>
        <TR><td>實發工資<td><Input Type=text readonly=true name=txt value=0>
      </table>
<SCRIPT for=select1 EVENT=onblur LANGUAGE=vbscript>
        i=frm1.select1.selectedindex
        f=frm1.select1.options(i).text
        k=frm1.select1.options(i).value
        frm1.hid.value=f
        frm1.txt1.value=k
        frm1.txt1.focus
      </SCRIPT>
      <SCRIPT for=txt1 event=onblur LANGUAGE=VBScript>
        if len(frm1.txt1.value)<5 then 
          msgbox "編號太短"
          frm1.txt1.focus
        else
          frm1.txt2.focus
        end if
      </SCRIPT>
<%
  set conn=server.createobject("adodb.Connection")
  CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="
  conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")
  conn.Open
  set rs=server.createobject("adodb.recordset")
  rs.open "職工工資",conn,1,2,2
p=Request.form("txt2")
  if len(p)>0 then
    redim na(rs.Fields.count-1)
    For J=0 To RS.Fields.Count-1
      na(j)= RS.Fields(j).name
    next
    redim bb(rs.Fields.count-1)  
    bb(0)=Request.form("hid")
    bb(1)=Request.form("txt1")
    bb(2)=Request.form("txt2")
    For J=3 To RS.Fields.Count-1
      bb(j)=Request.form("txt")(j-2)
    next
    RS.AddNew na, bb
    RS.Update
  end if
  Response.write "</table>"
  RS.close  
  conn.close
%>
      <table border=0 align=center height=50>
        <tr><td><INPUT type=submit value="確定增加">
      </table>
    </Form>
<SCRIPT for=txt event=onchange LANGUAGE=VBScript>
      w = ccur(frm1.txt(0).value)+ccur(frm1.txt(1).value)
      w=w+ccur(frm1.txt(2).value)+ccur(frm1.txt(3).value)
      w=w-ccur(frm1.txt(4).value)-ccur(frm1.txt(5).value)
      frm1.txt(6).value=w
    </SCRIPT>
    <SCRIPT for=txt event=onblur LANGUAGE=VBScript>
      if len(frm1.txt2.value)=0 then 
        msgbox "姓名不能空"
        frm1.txt2.focus
      end if
    </SCRIPT>
  </BODY>
</HTML>


8.為刪除一條記錄新增List4.asp頁面

<HTML>
  <HEAD><title>職工工資</title></HEAD>
  <BODY>
    <FORM METHOD='POST' ACTION='list4.asp?YesNo=yes'>
      <table border=1 align=center cellspacing=0 cellpadding=4 height=390>
        <TR><td width=100><td width=195>
<%
  Sub ShowPage(objRS,no)
    objRS.AbsolutePosition=no
      ' 顯示單記錄
    For J=0 To objRS.Fields.Count-1
      Data="<TR><td >" & objRS.Fields(j).name
      Data=Data & "<td>" & objRS.Fields(j).Value
      Response.Write data
    Next
  End Sub
set conn=server.createobject("adodb.Connection")
  CS="Provider=Microsoft.jet.OLEDB.4.0;Data Source="
  conn.ConnectionString=CS & Server.MapPath("rsgl.mdb")
  conn.Open
  set rs=server.createobject("adodb.recordset")
  rs.open "職工工資",conn,1,2,2
  if  Request("YesNo") = "yes" Then
    n=Session("no")
    RS.AbsolutePosition=n
    rs.delete
    rs.update
  end if
  If Session("no") = "" Then Session("no")=1
  if Session("no")>RS.RecordCount then Session("no")=RS.RecordCount
  ShowPage RS, Session("no")
  Response.write "</table>"
RS.close
  set RS=nothing
  conn.close
  set conn=nothing
%>
      <table border=0 align=center height=50>
        <tr><td><INPUT type=submit value="確定刪除">
      </table>
    </FORM>
  </BODY>
</HTML>


然後通過IIS伺服器解析後可以實現以上功能.

不足之處,請多多指教.