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

樓主

aq
門外漢
0 0
0 0
發送站內信

dim key(25) 
randomize timer

while i <= 24
    myrnd=int((rnd*1000)*0.22)+1 
                         ^^^^^^^^^^ ==>這段指出我這個資料庫共有幾題
    ok="0"
 
    for j = 0 to 24
    
     if myrnd=key(j) then ok="1"
   next 
   
      if ok="0" then  
        key(i)=myrnd   
        i=i+1
      end  if
      
wend

問題:
1.當我改變它時,不等於資料庫內的題數時
 就不能跑了∼∼
2.如果我”新増”或”刪除”時,資料庫內的題數一定會改變
 而它是一個固定的值,這樣改變了,又不能跑了∼∼

幫幫忙,解決這二個問題∼∼
謝謝∼∼^^

本篇文章發表於2002-04-17 17:41
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
用這個方法
strSQL="SELECT Count(*) FROM myQuestionTable"
Set RS=Conn.Execute(strSQL)
myquestions=RS(0)

可以知道目前總題數
本篇文章回覆於2002-04-17 17:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

aq
檢舉此回應
你用的那個是sql server
可是我的資料庫型態是access咧~~
又不同了~~
本篇文章回覆於2002-04-17 17:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
你試過我的方法了嗎?
本篇文章回覆於2002-04-17 17:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

aq
檢舉此回應
試過了~~
不行的

你用的是sql
而我的是access
本篇文章回覆於2002-04-17 18:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
你是說, 你的亞瑟士看不懂我的
SELECT Count(*) ....

不會口巴~~~~
本篇文章回覆於2002-04-17 18:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

aq
檢舉此回應
<%

dim key(25) 
randomize timer

while i <= 24
   myrnd=int((rnd*1000)*0.22)+1
    ok="0"
 
    for j = 0 to 24
    
     if myrnd=key(j) then ok="1"
   next 
   
      if ok="0" then  
        key(i)=myrnd   
        i=i+1
      end  if
      
wend

v=join(key,", ")
response.cookies("datakey")=v
data=request.cookies("datakey")
    set  conn=server.createobject("adodb.connection")
    conn.open "driver={microsoft access driver (*.mdb)};dbq="& _
               server.mappath("test.mdb")
    set rs = server.createobject("adodb.recordset")
    rs.open "select * from test1 where number in (" & v & ") order by number ",conn,3,2
    'rs.open "test", conn, 3 ,2

%>



那如果我要用你的
strSQL="SELECT Count(*) FROM myQuestionTable"
Set RS=Conn.Execute(strSQL)
myquestions=RS(0)
這方法
那我要改掉哪兒呢~~
我有改但~~>"<
不行啦~~~
本篇文章回覆於2002-04-17 18:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
sorry, 由於目前較忙, 都是在工作告一段落, 中場休息時上來小舖看一下而已, 無暇測試您的sample code, 因此, 只能提一些觀念問題而已, 請自己試一下, 或者, 請其他網友幫忙囉!
如果您想知道目前總題數, 我建議的方式應可用在Access, SQL中, 至於要放在哪裡,請您試一下, 至少, 將您改後, 有錯的結果貼上來, 這樣會好一些。
本篇文章回覆於2002-04-17 20:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

aq
檢舉此回應
我都可以跑
但問題是...一但我要新增或刪除時
資料庫的數目會改變
而這一段
myrnd=int((rnd*1000)*0.22)+1 
是一但資料庫的數值有所改變了
它就不能跑了~~
就會有所錯~~
以下的錯誤訊息~~~

ASOSB.FIELD
可能是BOF或EOF的值為TRUE
或目前的記錄己被刪除,所要求的操作需要目前的記錄
/test.asp
本篇文章回覆於2002-04-18 10:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
我看不懂你為何要 * 0.22
若"1000" 表示題數, 為何不改成
myrnd=int((rnd* myquestions)*0.22)+1
試試 ?
本篇文章回覆於2002-04-18 10:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

aq
檢舉此回應
試了~~~~
很慢很慢才打得開~~~
且是~~有錯誤開不了
錯誤訊息~~~

錯誤類型:
Active Server Pages, ASP 0113 (0x80004005)
超過可供指令檔執行的最長時間。您可以指定一個新的逾時值給 Server.ScriptTimeOut 屬性或在 IIS 系統管理工具中變更這個逾時值。
/test1.asp
本篇文章回覆於2002-04-18 15:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
總題數只要跑一次即可, 可別亂加, 放到迴圈中一直算, 加油
本篇文章回覆於2002-04-18 16:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

aq
檢舉此回應
結果~~~

錯誤類型:
ADODB.Field (0x80020009)
可能是 BOF 或 EOF 的值為 True,或目前的記錄已被刪除。所要求的操作需要目前的記錄。
/test1.asp
本篇文章回覆於2002-04-18 16:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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