台灣最大程式設計社群網站
線上人數
758
 
會員總數:245973
討論主題:189551
歡迎您免費加入會員
討論區列表 >> ASP >> [ASP]session變數
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[ASP]session變數
價值 : 0 QP  點閱數:1374 回應數:1
樓主

小月
初學者
32 20
530 35
發送站內信

我想要用session來控制資料庫,可是為什麼一改成用session變數之後,所有的功能都不能用了,
只剩下顯示第一頁,還是我這種寫法不能用session變數來控制資料庫呢?
有誰可以為我解答一下呢???

dbfunction.asp
<html>
<body >
<%
function dbConnect()
  if session("cnnDB")=empty then
    Set session("cnnDb")= Server.CreateObject("ADODB.Connection")
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
 Server.MapPath("pricelist.mdb")
session("cnnDb").Open strCon 
Set session("rstObj") = Server.CreateObject ("ADODB.Recordset")
  end if
end function

function dbClose()
   Session("rstObj").Close 
Set Session("rstObj") = Nothing  
Session("cnnDB").Close 
Set Session("cnnDB") = Nothing  
end function
%>
</body>
</html>





<!--#include file="dbfunction.asp" -->
<HTML>
<script language= "vbscript">
sub text
  dim errflag,msg
  noerr=true
if len(add.Item.value)=0 then
   document.add.elements(0).focus()
   msg="請輸入品項"
   noerr=false
elseif len(add.Price.value)=0 then
   document.add.elements(1).focus()
   msg="請輸入價格"
   noerr=false
elseif len(add.Itemnumber.value)=0 then
   document.add.elements(2).focus()
   msg="請輸入商品編號"
   noerr=false
elseif len(add.data.value)=0 then
   document.add.elements(3).focus()
   msg="請輸入日期"
   noerr=false
elseif isdate(add.data.value)=false then
   document.add.elements(3).focus()
   msg="請輸入正確的日期格式如:90/8/3"
   noerr=false

elseif len(add.ss.value)=0 then
   document.add.elements(4).focus()
   msg="請輸入數量"
   noerr=false
end if

if noerr=false then
   msgbox msg,64,"請確實輸入正確的資料!"
   exit sub
end if

add.submit

end sub
</script>

<BODY bgcolor="#99CCFF">
<%
Actionvar=Request.QueryString("actionvar")
dbConnect()===>
Set cnnDb= session("cnnDb")====>
Set rstObj = session("rstobj")====>
IF Actionvar="add" THEN
  IF Len(TRIM(request.form("flag"))) = 0 THEN
rstObj.Open "Prices", cnnDB, 3, 3
    %>
Add 
<HR>
    
<FORM name=add METHOD="post" ACTION="moddata.asp?Actionvar=add">
  品項(Item): 
  <INPUT TYPE="text" NAME="Item"><BR>
    價格(Price): $<INPUT TYPE="text" NAME="Price"><BR>
    商品編號(Item #): <INPUT TYPE="text" NAME="Itemnumber"><BR>
    日期(data): <INPUT TYPE="text" NAME="data"><BR>
    數量(ss): <INPUT TYPE="text" NAME="ss"><BR>
    <INPUT TYPE="hidden" NAME="flag" VALUE="2">
<input type=button value="確定新增" onclick="text">
    </FORM>
    <%
  ELSEIF Request.Form("flag")="2" THEN
    strSQL = "INSERT INTO Prices (Item,Price,Itemnumber,data,ss)VALUES ('" & request.form("Item") & "','" & request.form("Price") & "','" & request.form("Itemnumber") & "','" & request.form("data") & "','" & request.form("ss") & "')"
    %>
    <HR>

    <%
    cnnDB.Execute strSQL
   response.redirect "moddata.asp"
  END IF


ELSEIF Actionvar="update" THEN
  IF Len(TRIM(Request.Form("flag"))) = 0 THEN
   rstobj.open "select * from Prices where ID=" & Request.QueryString("ID"), cnnDB, 3,3   
    IF NOT rstobj.EOF THEN 
    %>
Update
<HR>      
<FORM METHOD="post" ACTION="moddata.asp?Actionvar=update">
  <p><B>品項(Item):</B> 
    <INPUT TYPE="text" NAME="Item" VALUE="<%=rstobj("Item")%>">
    <BR>
    <B>價格(Price):</B> $ 
    <INPUT TYPE="text" NAME="Price" VALUE="<%=rstobj("Price")%>">
    <BR>
    <B>商品編號(Itemnumber):</B> 
    <INPUT TYPE="text" NAME="Itemnumber" VALUE="<%=rstobj("Itemnumber")%>">
    <BR>
    <B>日期(data):</B> 
    <INPUT TYPE="text" NAME="data" VALUE="<%=rstobj("data")%>">
    <BR>
    <B>數量(ss):</B> 
    <INPUT TYPE="text" NAME="ss" VALUE="<%=rstobj("ss")%>">
    <BR>
    <INPUT TYPE="hidden" NAME="flag" VALUE="2">
    <INPUT TYPE="hidden" NAME="ID" VALUE="<%=rstobj("ID")%>">
    <INPUT TYPE="submit" VALUE="Update">
  </p>
  </FORM>
      <% 
      rstobj.MoveNext
      rstobj.Close
    END IF
  ELSEIF Request.Form("flag")="2" THEN
  rstObj.Open "Prices", cnnDB, 3, 3
  cnnDB.Execute ("delete * from Prices where ID=" & Request("ID"))
  strSQL = "INSERT INTO Prices (Item,Price,Itemnumber,data,ss)VALUES ('" & request.form("Item") & "','" & request.form("Price") & "','" & request.form("Itemnumber") & "','" & request.form("data") & "','" & request.form("ss") & "')"
  cnnDB.Execute strSQL
rstObj.Close 
Set rstObj = Nothing  
cnnDB.Close 
Set cnnDB = Nothing  
   response.redirect "moddata.asp"
  END IF

ELSEIF Actionvar="delete" THEN
  rstObj.Open "Prices", cnnDB, 3, 3
  cnnDB.execute("delete * from Prices where ID=" & Request.QueryString("ID")) 
  response.redirect "moddata.asp"
rstObj.Close 
Set rstObj = Nothing  
cnnDB.Close 
Set cnnDB = Nothing  

ELSEIF Actionvar="Select" THEN
   rstobj.open "select * from Prices where ID=" & Request.QueryString("ID") , cnnDB, 3,3   
%>
<CENTER>
<H3><P><FONT SIZE = 5 COLOR = red>
          <%=rstobj("Item")%>
</FONT>
的詳細資料如下:</P></H3>

    <TABLE border=1 bordercolor=RoyalBlue bgcolor=LightBlue>
      <TR valign=middle> 
        <TD bgcolor=LightYellow > 
          <pre><b><font size="3">品項</font></b></pre>
        </TD>
        <TD><font size="3"> 
          <%=rstobj("Item")%>
          </font></TD>
      </TR>
      <TR valign=middle> 
        <TD bgcolor=LightYellow  > 
          <pre><b><font size="3">價格</font></b></pre>
        </TD>
        <TD><font size="3"> 
          <%=rstobj("Price")%>
          </font></TD>
      </TR>
      <TR  valign=middle> 
        <TD bgcolor=LightYellow > 
          <pre><b><font size="3">商品編號</font></b></pre>
        </TD>
        <TD><font size="3"> 
          <%=rstobj("Itemnumber")%>
          </font></TD>
      </TR>
      <TR  valign=middle> 
        <TD bgcolor=LightYellow > 
          <pre><b><font size="3">日期</font></b></pre>
        </TD>
        <TD><font size="3"> 
          <%=rstobj("data")%>
          </font></TD>
      </TR>
      <TR  valign=middle> 
        <TD bgcolor=LightYellow > 
          <pre><b><font size="3">數量</font></b></pre>
        </TD>
        <TD><font size="3"> 
          <%=rstobj("ss")%>
          </font></TD>
      </TR>
    </TABLE>
<p><% Response.Write "<A HREF=""moddata.asp"">Go Back</A>"%></p>
</CENTER>
<%

ELSE
rstObj.Open "Prices", cnnDB, 3, 3
  rstobj.PageSize=5
if Not IsEmpty(Request("ToPage")) then

ToPage = CInt(Request("ToPage"))

if ToPage > rstObj.PageCount then
rstObj.AbsolutePage = rstObj.PageCount 
elseif ToPage <= 0 then 
rstObj.AbsolutePage = 1 
else
rstObj.AbsolutePage = ToPage 
end if
End if

intCurPage = rstObj.AbsolutePage 
  %>
<div align="center"><font size="5" face="全真古印體" color="#0000FF">資料的新增、修改、刪除、查詢及分頁顯示<br></font> 
<font size="3" face="全真古印體" color="#CC0099">此資料庫中共有<%= rstobj.RecordCount%>筆記錄,記錄指標目前指向第<%= rstobj.AbsolutePosition%>筆記錄<br>
  記錄集共有<%= rstobj.PageCount%>頁,目前在第<%= intcurpage%>頁,每頁有<%= rstobj.PageSize%>筆記錄</font> 
  <HR>
<TABLE BORDER=2 bordercolor="#0000FF" bgcolor="#CCFFCC" align="center">
  <TR> 
    <TD> 
      <CENTER>
        <b><font face="全真古印體" color="#9900FF">品項(Item)</font> </b> 
      </CENTER>
    </TD>
    <TD> 
      <CENTER>
        <b><font face="全真古印體" color="#9900FF">價格(Price)</font> </b> 
      </CENTER>
    </TD>
    <TD> 
      <CENTER>
        <b><font face="全真古印體" color="#9900FF">商品編號(Item #)</font> 
        </b> 
      </CENTER>
    </TD>
    <TD> 
      <CENTER>
        <b><font face="全真古印體" color="#9900FF">日期(data)</font> </b> 
      </CENTER>
    </TD>
    <TD> 
      <CENTER>
        <b><font face="全真古印體" color="#9900FF">數量(ss)</font> </b> 
      </CENTER>
    </TD>
    <TD> 
      <CENTER>
        <b><font face="全真古印體" color="#9900FF">刪除</font> </b> 
      </CENTER>
    </TD>
    <TD> 
      <CENTER>
        <b><font face="全真古印體" color="#9900FF">修改</font> </b> 
      </CENTER>
    </TD>
    <TD> 
      <CENTER>
        <b><font face="全真古印體" color="#9900FF">查詢</font> </b> 
      </CENTER>
    </TD>
    <%
  x=0
for k=1 to rstobj.PageSize
    x=x+1
    if rstobj.EOF then
exit for 
end if
    %>
  <TR> 
    <TD><font color="#CC00CC">(<%=x%>) <%=rstobj("Item")%></font></TD>
    <TD ALIGN=RIGHT><font color="#CC00CC">$<%=rstobj("Price")%></font></TD>
    <TD><font color="#CC00CC"><%=rstobj("Itemnumber")%></font></TD>
    <TD><font color="#CC00CC"><%=rstobj("data")%></font></TD>
    <TD><div align="center"><font color="#CC00CC"><%=rstobj("ss")%></font></div>
  </TD>
      <TD><A HREF="moddata.asp?Actionvar=delete&ID=<%=rstobj("ID")%>"><font color="#CC00CC">Delete</font></A></TD>
      <TD><A HREF="moddata.asp?Actionvar=update&ID=<%=rstobj("ID")%>"><font color="#CC00CC">Update</font></A></TD>
      <TD><A HREF="moddata.asp?Actionvar=Select&ID=<%=rstobj("ID") %>"><font color="#CC00CC">Select</font></A></TD>
<%
  rstobj.MoveNext
next
%>
</TABLE>
<Table><tr valign=top>
<%
if intCurPage <> 1 then
%>
      <td width=125 height="35"> <a href=moddata.asp?topage=<%=1%>>到第一頁</a> </td>
      <td width=125 height="35"> <a href=moddata.asp?topage=<%=intcurpage-1%>>到上一頁</a> 
      </td>
<%
end if 
if intCurPage<>rstobj.pagecount then
%>
      <td width=125 height="35"> <a href=moddata.asp?topage=<%=intcurpage+1%>>到下一頁</a> 
      </td>
      <td width=125 height="35"> <a href=moddata.asp?topage=<%=rstobj.pagecount%>>到最後一頁</a> 
      </td>
<%
end if
rstObj.Close 
Set rstObj = Nothing  
cnnDB.Close 
Set cnnDB = Nothing 
%>
      <td width=125 height="35" > 
        <form action=moddata.asp mehtod=post>
          到 
          <input type="moddata" name=topage style="height:25px; width:40px" value=<%= intcurpage%>>頁 
</form></td></tr>
</TABLE></div>
    <%
  Response.Write "<HR><A HREF='moddata.asp?actionvar=add'>新增資料</A>"
%>
<form action=Filter.asp method=post>
  進行條件式查詢請輸入欲篩選之品項 
  <input type=text name=ti><br>
<p><input type=submit value="進行查詢"name=submit></p>
</form>
<%
  END IF
 
%>
</BODY>
</HTML>

搜尋相關Tags的文章: [ session ] , [ session ] , [ 變數 ] ,
本篇文章發表於2002-06-09 13:37
1樓
作者回應

小月
檢舉此回應
只改了這三行
dbConnect()===>
Set cnnDb= session("cnnDb")====>
Set rstObj = session("rstobj")====>
本篇文章回覆於2002-06-09 13:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.