3)postmessage.aspx: - 將數據保存到數據庫的頁面
<%@ incort namespace = system%>
<%@彙編名稱= system.data%>
<%@ incort namespace = system.data%>
<%@ import namespace = system.data.ado%>
<%@ page語言= c#debug = true%>
<html>
<頭>
<title>謝謝您的發布!</title>
<腳本語言= C#runat =服務器>
//頁面加載時執行此腳本
void page_load(object src,eventargs e)
{
//如果頁面從另一個頁面調用
如果(!page.ispostback){
//從查詢字符串獲取所有參數
字符串名稱= request.params [name];
字符串電子郵件= request.params [email];
字符串主題= request.params [主題];
字符串ip = request.params [ip];
字符串日期= request.params [date];
字符串消息= request.params [message];
bool newmess = true;
字符串previd = 1;
//檢查帖子是新主題還是對新主題的答复
if(request.params [newpost] .equals(no))
{
//如果答复,請在此處獲取perpid as previd
newmess = false;
previd = request.params [pavid];
}
//如果帖子是一個新主題,請遵循以下例程
如果(newmess)
{
//數據庫路徑的字符串,如果您的數據庫在某些其他
目錄然後編輯路徑
//此變量
字符串[電子郵件保護]提供商= microsoft.jet.oledb.4.0;數據源=
+server.mappath(.// db // board.mdb);
//獲得數據庫的膠合連接
Adoconnection myConn =新的adoconnection(strconn);
// SQL選擇語句
字符串strcom =從newpost中選擇postid;
//創建一個adocommand,因為我們希望以後使用adodatareader
adocommand mycommand = new adocommand(strcom,myconn);
//打開連接
myconn.open();
adodatareader讀者;
//執行命令並將數據輸入閱讀器
mycommand.execute(out Reader);
int i = 1;
//獲取數據庫中當前存在的記錄。
while(reader.read())
{
i ++;
}
reader.close();
//構建SQL語句以插入數據庫
字符串insertstr =插入newPost值(
+i +,'
+名稱+','
+電子郵件+','
+主題+','
+ip+','
+date+','
+消息+',0,0);
mycommand.commandText = insertstr;
//由於SQL語句未返回任何輸出使用executenonquery()方法
mycommand.executenonquery();
//關閉連接
myconn.close();
}
別的
{
//如果發布的數據是對主題的答复,請按照以下步驟操作
//字符串的數據庫路徑,如果您的數據庫存儲在其他目錄中,則
//在這裡編輯路徑
字符串[電子郵件保護]提供商= Microsoft.jet.oledb.4.0;數據源=+
server.mappath(.// db // board.mdb);
Adoconnection myConn =新的adoconnection(strconn);
// SQL語句選擇回复ID
字符串strcom =從回復中選擇回复;
//創建一個adocommand
adocommand mycommand = new adocommand(strcom,myconn);
//打開連接
myconn.open();
adodatareader讀者;
//執行命令並將數據輸入閱讀器
mycommand.execute(out Reader);
int i = 1;
//獲取數據庫中當前存在的記錄。
while(reader.read())
{
i ++;
}
reader.close();
//構建一個語句以將值插入回复表中
字符串insertstr =插入回复值(
+i +,'
+名稱+','
+電子郵件+','
+主題+','
+ip+','
+date+','
+消息+',
+previd+);
mycommand.commandText = insertstr;
// executenonquery-由於命令沒有返回任何內容
mycommand.executenonquery();
//字符串從NewPost表獲取回复列
字符串ReplyNo =從newpost中選擇postid =+pravid;
mycommand.commandText = ReplyNo;
//執行命令並獲取讀者
mycommand.execute(out Reader);
//閱讀第一個記錄(請記住,讀者只能有一個記錄,因為PostID是唯一的)
reader.read();
//從newpost表中的回复列中獲取答复列的INT16值
int rep = reader.getInt16(0);
reader.close();
rep ++;
// SQL語句更新NewPost表中的回複字段
字符串UPDTSTR = UPDATE NEWPOST SET回复= +REP
+其中(postid = +previd +);
mycommand.commandText = updtstr;
//執行Enecutenonquerry為什麼?我想你現在應該知道!
mycommand.executenonquery();
myconn.close();
}
//從查詢字符串獲取不同的參數並將其存儲
//到各自的標籤
namelabel.text = name;
emaillabel.text =電子郵件;
objectlabel.text =主題;
messagelabel.text =消息;
}
別的
{
//其他顯示錯誤
errmess.text =無法直接調用此頁面。必須從表單發布頁面中調用。<br>;
}
}
</script>
<link href = mystyle.css type = text/css rel = stylesheet>
</head>
<身體topmargin = 0 leftmargin = 0 rightmargin = 0 marginwidth = 0 marginheight = 0>
<! - #include file = header.inc->
<center>
<asp:label id = errmess text = style =顏色:#ff0000 runat = server />
<H2 class = fodark> <b>謝謝您在留言板上發布。</b> </h2>
<table align =中心寬度= 60%邊界= 0 cellpacing = 2 cellpadding = 1>
<tr class = fohead> <td colspan = 2>您發布的信息!</td> </tr>
<tr class = folight>
<td>名稱:</td>
<td> <asp:label id = namelabel text = runat = server /> < /td>
</tr>
<tr class = folight>
<TD>電子郵件:</td>
<td> <asp:label id = emaillabel text = runat = server /> < /td>
</tr>
<tr class = folight>
<td>主題:</td>
<td> <asp:label id = objecterlabel text = runat = server /> < /td>
</tr>
<tr class = folight>
<TD>消息:</td>
<td> <asp:label id = messagelabel text = runat = server /> < /td>
</tr>
</table>
<br>
<H4 class = fodark> <a href = forum.aspx>單擊此處</a>返回論壇。<br>
<% - 一點點工作以顯示鏈接以返回頁面,如果帖子是回复 - %>
<%if(request.params [previd]!= null)
{%>
<a href ='回复。
你來自哪裡。
<%}%>
</h4>
</center>
<! - #include file = footer.inc->
</body>
</html>