台灣最大程式設計社群網站
線上人數
713
 
會員總數:246209
討論主題:189782
歡迎您免費加入會員
討論區列表 >> ASP >> 如何製作可以搜尋借書時間是否逾期的程式?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何製作可以搜尋借書時間是否逾期的程式?
價值 : 50 QP  點閱數:927 回應數:4
樓主

Ron
門外漢
0 5
114 7
發送站內信


Dear 各位大大:

如題所示,第一次寫檢查檢查循環指令,用以檢查借書時間是否逾期,逾期則會寄出通知信通知借書人還書,沒預期則會跳至下一筆檢查,
現在是已經可以運作檢查跟寄信,但問題時寄出的內容會越變越多,比如說有3個人借書逾期,伺服器再寄給第一人通知信時只會有第一個人的相
關資料,但是寄給地2個人時會包含有第一封mail的內容,而寄給第3個人時會有前面2封mail的資料,請問是我語法有錯嗎??語法如下,請幫我檢
查一下,謝謝!!

----------------------------------------------------------------------------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>借書預期未還寄信通知處理中....</title>
</head>
<body>
<%
Set conn = Server.CreateObject("ADODB.Connection")
Provider ="Provider=Microsoft.Ace.OLEDB.12.0;"
DBPath = "Data Source=" & Server.MapPath("../test.accdb")
conn.Open Provider & DBPath

sql_str="select * from book_order where status = '1' order by book_id"
Set rs = Conn.Execute(sql_str)
do while not rs.EOF

Dim dttime1
dttime1 = year(now)&"/"&month(now)&"/"&day(now)
dttime2 = datediff("d",rs("borrow_time"),dttime1)

if dttime2 > 0 then

Set Jmail = Server.CreateObject("Jmail.Message")
Jmail.Logging = True
Jmail.Silent = True
Jmail.Charset = "big5"
Jmail.ContentType = "text/html;charset=big5"
Jmail.ISOEncodeHeaders = true
Jmail.From = "XXXX@XXXX-XXX.XXX.XX"
Jmail.FromName =""& rs("borrow_person") &"借書逾期未還通知單"
Jmail.AddRecipient rs("email") , rs("borrow_person")
Jmail.Subject = "人員"& rs("borrow_person") &"借書逾期未還,特此通知"
HTML = HTML & "<b>***收到通知後,代表收信人員應於"& rs("borrow_time") &"歸還書籍而未歸還***</b>"
HTML = HTML & "<html><body><table width=50% border=1 cellpadding=5 cellspacing=0>"
HTML = HTML & "<tr>"
HTML = HTML & "<td><b>借書人員:</b></td><td><b>"& rs("borrow_person") &"</b></td>"
HTML = HTML & "</tr>"
HTML = HTML & "<tr>"
HTML = HTML & "<td><b>書籍名稱:</b></td><td><b>"&rs("book_name")&"</b></td>"
HTML = HTML & "</tr>"
HTML = HTML & "<tr>"
HTML = HTML & "<td><b>書 碼:</b></td><td><b>"&rs("book_number")&"</b></td>"
HTML = HTML & "</tr>"
HTML = HTML & "<tr>"
HTML = HTML & "<td><b>應還日期:</b></td><td><b>"&rs("borrow_time")&"</b></td>"
HTML = HTML & "</tr>"
HTML = HTML & "<tr>"
HTML = HTML & "<td><b>已逾日期:</b></td><td><b>至今日為止已經"&dttime2&"天未歸還,請盡快歸還書籍,謝謝。</b></td>"
HTML = HTML & "</tr>"
HTML = HTML & "</table></body></html>"

Jmail.Body = HTML

If Not Jmail.Send("XXX.XXXX-XXX.XXX.XX") Then
Response.Write "申請完成但因不明原因寄信失敗,請通知MIS處理!!"
Response.Write Jmail.Log
Else
Response.Write "郵件已經寄出..."
End If
Set JMail=Nothing
else
end if
rs.movenext
loop
rs.close
set rs = nothing
conn.close
set conn = nothing
%>
<SCRIPT LANGUAGE="JAVASCRIPT">
window.open('','_self','');window.close();
</SCRIPT>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------------------------------------------------



本篇文章發表於2015-06-26 14:30
1樓
最有價值解答

迷路
捐贈 VP 給 迷路 檢舉此回應

HTML = HTML & "<b>***收到通知後,代表收信人員應於"& rs("borrow_time") &"歸還書籍而未歸還***</b>"
改成
HTML = "<b>***收到通知後,代表收信人員應於"& rs("borrow_time") &"歸還書籍而未歸還***</b>"
試試看
本篇文章回覆於2015-06-26 16:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Ron
檢舉此回應
可以也~~~但是Why??!!我看不出個所以然也><
但還是謝謝米路大的回覆~~
本篇文章回覆於2015-06-26 17:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
這樣還沒看出來?基礎有待加強喔
HTML = HTML & "....."
意思是將"....."的內容加到HTML的內容後面
第一封信件時,第一行內容執行時HTML的值是空值,所以沒有問題
但是到第二封信件時,因為你沒有清除第一封信件時儲存在HTML中的值
所以你第二封信件的內容就會接在第一封信件之後
造成你後面的信件內容包含前面信件內容的問題
把第一行中的「HTML & 」移掉,這樣HTML的值就會重新指定為新的內容,不會繼續累加在原有內容後面
本篇文章回覆於2015-06-29 09:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Ron
檢舉此回應
對喔~我知道意思了~~謝謝~
本篇文章回覆於2015-06-30 09:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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