3) postmessage.aspx:- หน้าเว็บที่บันทึกข้อมูลไปยังฐานข้อมูล
< %@ import namespace = system %>
< %@ ชื่อแอสเซมบลี = System.Data %>
< %@ import namespace = system.data %>
< %@ import namespace = system.data.ado %>
< %@ page language = c# debug = true %>
<html>
<head>
<title> ขอบคุณสำหรับการโพสต์! </title>
<ภาษาสคริปต์ = c# runat = เซิร์ฟเวอร์>
// เรียกใช้สคริปต์นี้เมื่อหน้าโหลด
เป็นโมฆะ page_load (วัตถุ SRC, EventArgs E)
-
// ถ้าหน้าถูกเรียกจากหน้าอื่น
if (! page.ispostback) {
// รับพารามิเตอร์ทั้งหมดจากสตริงแบบสอบถาม
ชื่อสตริง = request.params [ชื่อ];
string email = request.params [อีเมล];
String subject = request.params [หัวเรื่อง];
string ip = request.params [IP];
สตริงวันที่ = request.params [วันที่];
String message = request.params [ข้อความ];
bool newMess = true;
สตริง previd = 1;
// ตรวจสอบว่าโพสต์เป็นหัวข้อใหม่หรือตอบกลับหัวข้อใหม่
if (request.params [newpost] .equals (ไม่))
-
// ถ้าเป็นการตอบกลับให้รับ postid ที่เรียกว่าเป็น previd ที่นี่
NewMess = FALSE;
previd = request.params [previd];
-
// ถ้าโพสต์เป็นหัวข้อใหม่ให้ทำตามรูทีนด้านล่าง
ถ้า (Newmess)
-
// สตริงสำหรับพา ธ ไปยังฐานข้อมูลหากฐานข้อมูลของคุณอยู่ในอื่น
ไดเรกทอรีจากนั้นแก้ไขเส้นทาง
// ของตัวแปรนี้
สตริง [อีเมลป้องกัน] ผู้ให้บริการ = microsoft.jet.oLedb.4.0; แหล่งข้อมูล =
+server.mappath (.// db // board.mdb);
// รับ Adoconnection ไปยังฐานข้อมูล
Adoconnection myconn = adoconnection ใหม่ (strconn);
// คำสั่ง SQL Select
String strcom = เลือก postid จาก newpost;
// สร้าง adocommand เนื่องจากเราต้องการ adodatareader ในภายหลัง
Adocommand MyCommand = ใหม่ Adocommand (Strcom, MyConn);
// เปิดการเชื่อมต่อ
myconn.open ();
Adodatareader Reader;
// ดำเนินการคำสั่งและรับข้อมูลลงในผู้อ่าน
myCommand.execute (out reader);
int i = 1;
// รับจำนวนระเบียนปัจจุบันที่มีอยู่ในฐานข้อมูล
ในขณะที่ (reader.read ())
-
i ++;
-
reader.close ();
// สร้างคำสั่ง SQL เพื่อแทรกลงในฐานข้อมูล
String insertStr = แทรกลงในค่า newPost (
+i +, '
+ชื่อ+','
+อีเมล+',', '
+หัวเรื่อง+','
+ip+','
+วันที่+','
+ข้อความ+', 0, 0);
MyCommand.CommandText = InsertStr;
// เนื่องจากคำสั่ง SQL ไม่ส่งคืนการใช้งานการใช้งานใด ๆ
MyCommand.executenonquery ();
// ปิดการเชื่อมต่อ
myconn.close ();
-
อื่น
-
// หากข้อมูลที่โพสต์คือการตอบกลับหัวข้อให้ทำตามขั้นตอนด้านล่าง
// สตริงสำหรับพา ธ ไปยังฐานข้อมูลหากฐานข้อมูลของคุณถูกเก็บไว้ในไดเรกทอรีอื่น ๆ
// แก้ไขเส้นทางที่นี่
สตริง [อีเมลป้องกัน] ผู้ให้บริการ = microsoft.jet.oLedb.4.0; แหล่งข้อมูล =+
Server.mappath (.// db // board.mdb);
Adoconnection myconn = adoconnection ใหม่ (strconn);
// คำสั่ง SQL เพื่อเลือก ReplyId
String strcom = เลือกตอบกลับจากการตอบกลับ;
// สร้าง adocommand
Adocommand MyCommand = ใหม่ Adocommand (Strcom, MyConn);
// เปิดการเชื่อมต่อ
myconn.open ();
Adodatareader Reader;
// ดำเนินการคำสั่งและรับข้อมูลลงในผู้อ่าน
myCommand.execute (out reader);
int i = 1;
// รับจำนวนระเบียนปัจจุบันที่มีอยู่ในฐานข้อมูล
ในขณะที่ (reader.read ())
-
i ++;
-
reader.close ();
// สร้างคำสั่งเพื่อแทรกค่าลงในตารางตอบกลับ
String insertStr = แทรกลงในค่าตอบกลับ (
+i +, '
+ชื่อ+','
+อีเมล+',', '
+หัวเรื่อง+','
+ip+','
+วันที่+','
+ข้อความ+',
+previd+);
MyCommand.CommandText = InsertStr;
// executenonQuery - เนื่องจากคำสั่งไม่คืนสิ่งใด
MyCommand.executenonquery ();
// สตริงเพื่อรับคอลัมน์ตอบกลับจากตาราง newpost
String ReplyNo = เลือกตอบกลับจาก newPost โดยที่ postid =+previd;
MyCommand.CommandText = ตอบกลับ;
// ดำเนินการคำสั่งและรับตัวอ่าน
myCommand.execute (out reader);
// อ่านบันทึกแรก (จำไว้ว่ามีเพียงหนึ่งระเบียนในผู้อ่านเนื่องจาก postid ไม่ซ้ำกัน)
reader.read ();
// รับค่า int16 ของจำนวนการตอบกลับจากคอลัมน์ตอบกลับในตาราง newpost
int rep = reader.getInt16 (0);
reader.close ();
ตัวแทน ++;
// คำสั่ง SQL เพื่ออัปเดตฟิลด์การตอบกลับในตาราง newpost
string updtstr = อัปเดตชุด newpost resterlies = +rep
+โดยที่ (postid = +previd +);
MyCommand.CommandText = updtStr;
// Executenonquerry ทำไม ?? ตอนนี้ฉันเดาว่าคุณควรจะรู้!
MyCommand.executenonquery ();
myconn.close ();
-
// รับพารามิเตอร์ที่แตกต่างจากสตริงแบบสอบถามและจัดเก็บไว้
// ไปยังป้ายกำกับที่เกี่ยวข้อง
namelabel.text = ชื่อ;
emaillabel.text = อีเมล;
subjectLabel.Text = หัวเรื่อง;
MessageLabel.Text = ข้อความ;
-
อื่น
-
// อื่นแสดงข้อผิดพลาด
errMess.Text = หน้านี้ไม่สามารถเรียกได้โดยตรง จะต้องมีการเรียกจากหน้าการโพสต์แบบฟอร์ม <br>;
-
-
</script>
<link href = mystyle.css type = text/css rel = stylesheet>
</head>
<body topMargin = 0 leftMargin = 0 rightMargin = 0 marginWidth = 0 marginHeight = 0>
<!-#include file = header.inc->
<enter>
<ASP: Label ID = ErrMess text = style = color:#ff0000 runat = เซิร์ฟเวอร์ />
<h2 class = fodark> <b> ขอบคุณสำหรับการโพสต์บนกระดานข้อความ </b> </h2>
<table allign = ความกว้างของศูนย์ = 60% border = 0 cellspacing = 2 cellpadding = 1>
<tr class = fohead> <td colspan = 2> ข้อมูลที่คุณโพสต์! </td> </tr>
<tr class = folight>
<td> ชื่อ: </td>
<td> <asp: label id = namelabel text = runat = เซิร์ฟเวอร์ /> </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 = textlabel text = runat = เซิร์ฟเวอร์ /> </td>
</tr>
<tr class = folight>
<td> ข้อความ: </td>
<td> <asp: Label ID = messageLabel text = runat = เซิร์ฟเวอร์ /> </td>
</tr>
</table>
<br>
<h4 class = fodark> <a href = forum.aspx> คลิกที่นี่ </a> เพื่อกลับไปที่ฟอรัม <br>
<%-งานเล็ก ๆ น้อย ๆ เพื่อแสดงลิงก์เพื่อกลับไปที่หน้าหากโพสต์เป็นการตอบกลับ-%>
<% ถ้า (request.params [previd]! = null)
-
<a href = 'reply.aspx? postid = < %= request.params [previd] %>'> คลิกที่นี่ </a> เพื่อกลับไป
คุณมาจากไหน
-
</h4>
</enter>
<!-#include file = footer.inc->
</body>
</html>