asp net n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
ASP.NET 網頁製作教本 – 從基本語法學起 PowerPoint Presentation
Download Presentation
ASP.NET 網頁製作教本 – 從基本語法學起

Loading in 2 Seconds...

play fullscreen
1 / 28

ASP.NET 網頁製作教本 – 從基本語法學起 - PowerPoint PPT Presentation


  • 176 Views
  • Uploaded on

ASP.NET 網頁製作教本 – 從基本語法學起. 第 18 章 聊天室、新聞討論群組. 18-1 聊天室. 範例網頁的組成. 操作說明 – Step1-1. 聊天室要從 Enter.aspx 進入,畫面如下:. 操作說明 – Step1-2. Users 資料表的內容如下:. 操作說明 – Step1-3. 架框網頁 :. 操作說明 – Step 2. 三個網頁的用途分別是:. 資料庫的寫入(1). 把發言的內容寫到 Chatroom.mdb 資料庫的 Chatroom 資料表之中,而此一資料表的結構如下:.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'ASP.NET 網頁製作教本 – 從基本語法學起' - jabir


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
asp net

ASP.NET 網頁製作教本 –從基本語法學起

第 18 章 聊天室、新聞討論群組

step1 1
操作說明 – Step1-1
  • 聊天室要從 Enter.aspx 進入,畫面如下:
step1 2
操作說明 – Step1-2
  • Users 資料表的內容如下:
step1 3
操作說明 – Step1-3
  • 架框網頁 :
step 2
操作說明 – Step 2
  • 三個網頁的用途分別是:
slide8
資料庫的寫入(1)
  • 把發言的內容寫到 Chatroom.mdb 資料庫的 Chatroom 資料表之中,而此一資料表的結構如下:
slide9
資料庫的寫入(2)
  • 「時間」欄位的預設值設定成 Now() 函數,當我們新增發言時,Access 會自動幫我們填入當時的系統時間,程式如下:

Talk.aspx #42~49

#42 SQL = "Insert Into Chatroom (姓名, 內容) Values (?, ?)"

#43 Cmd = New OleDbCommand( SQL, Conn )

#44 Cmd.Parameters.Add( New OleDbParameter("@姓名", OleDbType.Char, 50))

#45 Cmd.Parameters.Add( New OleDbParameter("@內容", OleDbType.VarChar))

#46 Cmd.Parameters("@姓名").Value = Session("Name")

#47 Cmd.Parameters("@內容").Value = Word.text

#48

#49 Cmd.ExecuteNonQuery()

slide11
如何重讀資料庫(2)
  • Reload.aspx 網頁每秒鐘會自我重新整理一次,HTML 標示如以下粗體字的部分:

<HTML>

<HEAD>

<META HTTP-EQUIV="refresh" CONTENT="1";URL="Reload.aspx">

</HEAD>

<BODY BgColor=White>

系統時間: <%=Now()%><HR>

</BODY>

</HTML>

slide12
如何重讀資料庫(3)
  • View.aspx,其關鍵性的標示及程式碼如下:

View.aspx

#05 <Head>

#06 <META HTTP-EQUIV="refresh“CONTENT="<%=Freq%>";URL="<%=URL%>">

#07 </Head>

#37 Dim Freq As Integer

#38 Dim URL As String

#39 Sub Page_Load(sender As Object, e As EventArgs)

#40 Freq = Session( "Freq" )

#41 If Freq = 0 Then Freq = 30

#42 URL = Request.ServerVariables("PATH_INFO")

#62 End Sub

slide13
如何重讀資料庫(4)
  • 重讀的時間間隔可以由上網者自行設定,而設定的程式在 Setup.aspx 之中:

Setup.aspx #23~31

#23 Sub Set_Click(sender As Object, e As EventArgs)

#24 If Val(Freq.Text) > 0 Then

#25 Session("Freq") = Val(Freq.Text)

#26 Else

#27 Freq.Text = "30"

#28 Session("Freq") = 30

#29 End If

#30 Msg.Text = "重讀時間間隔已設定為 " & Freq.Text & "秒!"

#31 End Sub

slide14
架框的設定
  • 顯示 架框,其所輸出的標示如下:
  • 其中 #69的敘述把 Talk.aspx 及 Setup.aspx 橫向分割成2:1,而 #68 又把 View.aspx 及 (Talk.aspx, Setup.aspx) 縱向分割成2:1。

t#6 Response.Write( "" & _

#67 "<HTML>" & _

#68 "<FRAMESET Rows='*, 2*'>" & _

#69 " <FRAMESET Cols='2*,*'>" & _

#70 " <FRAME Src='Talk.aspx' Name='Talk'>" & _

#71 " <FRAME Src='Setup.aspx'>" & _

#72 " </FRAMESET>" & _

#73 " <FRAME Src='View.aspx' Name='View'>" & _

#74 "</FRAMESET>" & _

#75 "</HTML>" )

title aspx 1
程式設計注意事項 –Title.aspx:顯示主題總表(1)
title aspx 2
程式設計注意事項 –Title.aspx:顯示主題總表(2)
  • Title.aspx 建立「日期」欄位的程式:

Title.aspx #105~112

#105 Table1.Columns.Add(New DataColumn("日期", GetType(String)))

#106 For I = 0 TO Table1.Rows.Count - 1

#107 Dim D1 As Date = Table1.Rows(I).Item("CreateDate")

#108 Dim D2 As Date = Table1.Rows(I).Item("LastNewsDate")

#109 Table1.Rows(I).Item("日期") = "" & _

#110 Format( D1, "MM/dd" ) & "-" & _

#111 Format( D2, "MM/dd" )

#112 Next

title aspx 3
程式設計注意事項 –Title.aspx:顯示主題總表(3)
  • 注意事項一 :
    • 要按照 LastNewsDate(討論主題最後被討論的日期)欄位做遞減排序。
title aspx 4
程式設計注意事項 –Title.aspx:顯示主題總表(4)
  • 注意事項二 :
    • 當討論主題越來越多時,所須下載的資料就會越來越多,執行速度也就越來越慢。方法:

1.限定資料錄的筆數。

2.只選取若干天以內所發起或討論過的主題。

Select Top 50 * From Titles Order By LastNewsDate Desc

Select * From Titles Where LastNewsDate > DateAdd('d',-14,Now()) Order By LastNewsDate Desc

detail aspx 1
程式設計注意事項 –Detail.aspx:儲存討論內容(1)
  • 當上網者進入某一個討論主題,並且發表意見之後,Detail.aspx 除了要將討論內容儲存於 Details 資料表之外,也會同時更新 Titles 資料表的以下兩個欄位:
detail aspx 2
程式設計注意事項 –Detail.aspx:儲存討論內容(2)
  • 所撰寫的更新敘述如下:

Detail.aspx #160~163

#160 SQL = "Update Titles Set LastNewsDate=Now(), [Number]=[Number]+1" & _

#161 " Where TitleID=" & TitleID

#162 Cmd = New OleDbCommand( SQL, Conn )

#163 Cmd.ExecuteNonQuery()

detail aspx 3
程式設計注意事項 –Detail.aspx:儲存討論內容(3)
  • 以上程式出現了兩個特殊的敘述:
  • Update Titles Set LastNewsDate=Now(), [Number]=[Number]+1:
  • (1) Now 是 VB 的函數,可以使用於 SQL 指令 。(2) Number 是 SQL 的保留字,要存取名稱為 Number 的欄位,須在名稱前後加上 [ ],使之成為 [Number]。
  • “Where TitleID=” & TitleID:忽略了這個條件式,則 Tiltles 資料表的所有資料錄將會全部被更新。