3) postmessage.aspx:- страница, которая сохранила данные в базе данных
< %@ Импорт имен пространство = система %>
< %@ assbly name = system.data %>
< %@ import namespace = system.data %>
< %@ import namespace = system.data.ado %>
< %@ page language = c# debug = true %>
<html>
<голова>
<название> Спасибо за публикацию! </title>
<script language = c# runat = server>
// выполнить этот скрипт, когда страница загружается
void page_load (Object src, EventArgs E)
{
// Если страница вызвана на другой странице
if (! page.ispostback) {
// Получить все параметры из строки запроса
string name = request.params [name];
string email = request.params [email];
строка субъекта = request.params [субъект];
String ip = request.params [ip];
строка дата = request.params [date];
string message = request.params [message];
bool newmess = true;
String previd = 1;
// Проверьте, является ли пост новой темой или ответом на новую тему
if (request.params [newpost] .equals (no))
{
// если это ответ
newmess = false;
previd = request.params [previd];
}
// Если пост является новой темой, следуйте приведенной ниже рутине
if (newmess)
{
// строка для пути к базе данных, если ваша база данных в какой -то другой
каталог затем отредактируйте путь
// этой переменной
String [Email Protected] Provider = microsoft.jet.oledb.4.0; Data Source =
+server.mappath (.// db // poard.mdb);
// Получить адоконек в базу данных
AdoConnection myConn = новый AdoConnection (strConn);
// оператор SQL SELECT
String strcom = выберите Postid из NewPost;
// Создать адокомманду, так как мы хотим, чтобы Adodatareader позже
Adocommand mycommand = new Adocommand (strcom, myconn);
// открыть соединение
myconn.open ();
Adodatareader Reader;
// выполнить команду и получить данные в читатель
mycommand.execute (out Reader);
int i = 1;
// Получить текущее количество записей, присутствующих в базе данных.
while (reader.read ())
{
i ++;
}
reader.close ();
// Создание оператора SQL для вставки в базу данных
string insertStr = вставьте в значения NewPost (
+i +, '
+имя+','
+электронная почта+','
+субъект+','
+ip+','
+дата+','
+сообщение+', 0, 0);
mycommand.commandtext = insertstr;
// Поскольку оператор SQL не возвращает метод использования executeNonOnquery ()
mycommand.executenonquery ();
// закрыть соединение
myconn.close ();
}
еще
{
// Если опубликованные данные являются ответом на тему, следуйте приведенной ниже процедуре
// строка для пути к базе данных, если ваша база данных хранится в каком -то другом каталоге, тогда
// Редактировать путь здесь
String [Email Protected] Provider = microsoft.jet.oledb.4.0; Data Source =+
server.mappath (.// db // poard.mdb);
AdoConnection myConn = новый AdoConnection (strConn);
// оператор SQL для выбора ответа
string strcom = select replyid из ответа;
// Создать адокоманду
Adocommand mycommand = new Adocommand (strcom, myconn);
// открыть соединение
myconn.open ();
Adodatareader Reader;
// выполнить команду и получить данные в читатель
mycommand.execute (out Reader);
int i = 1;
// Получить текущее количество записей, присутствующих в базе данных.
while (reader.read ())
{
i ++;
}
reader.close ();
// Создание оператора для вставки значений в таблицу ответов
String insertStr = вставка в значения ответов (
+i +, '
+имя+','
+электронная почта+','
+субъект+','
+ip+','
+дата+','
+сообщение+',
+previd+);
mycommand.commandtext = insertstr;
// executeNonQuery - Поскольку команда ничего не возвращает
mycommand.executenonquery ();
// строка, чтобы получить столбец ответов из таблицы NewPost
string replyno = select отвечает из NewPost, где postid =+previd;
mycommand.commandtext = replyno;
// выполнить команду и получить читателя
mycommand.execute (out Reader);
// Читать первую запись (помните, что в читателе может быть только одна запись, так как Postid уникален)
reader.read ();
// Получить значение Int16 количества ответов из столбца ответов в таблице Newpost
int rep = reader.getint16 (0);
reader.close ();
rep ++;
// оператор SQL для обновления поля ответов в таблице NewPost
string udTtStr = update newpost set есты = +rep
+где (postid = +previd +);
mycommand.commandtext = updtstr;
// executeNOnquerry почему ?? Я думаю, ты должен знать к настоящему времени!
mycommand.executenonquery ();
myconn.close ();
}
// Получить различные параметры из строки запроса и хранить его
// соответствующие этикетки
namelabel.text = name;
emaillabel.text = электронная почта;
SubjectLabel.Text = субъект;
MessageLabel.Text = сообщение;
}
еще
{
// еще отображать ошибку
errmess.text = эта страница не может быть вызвана напрямую. Это должно быть вызвано со страницы публикации формы. <br>;
}
}
</script>
<link href = mystyle.css type = text/css rel = stylesheet>
</head>
<body topmargin = 0 Levermargin = 0 rightmargin = 0 marginwidth = 0 marginheight = 0>
<!-#include file = header.inc->
<Центр>
<ASP: Label ID = Errmess Text = style = color:#ff0000 runat = server />
<h2 class = fodark> <b> Спасибо, за публикацию на доске сообщений. </b> </h2>
<таблица Align = Центр ширина = 60% граница = 0 cell -spacing = 2 cellpadding = 1>
<tr class = fohead> <td colspan = 2> информация, которую вы разместили! </td> </tr>
<tr class = flight>
<TD> Имя: </TD>
<TD> <ASP: LABEL ID = NAMELABEL TEXT = RUNAT = SERVER /> < /TD>
</tr>
<tr class = flight>
<Td> электронная почта: </td>
<TD> <ASP: LABEL ID = EMAILLABEL TEXT = RUNAT = SERVER /> < /TD>
</tr>
<tr class = flight>
<TD> Тема: </TD>
<TD> <ASP: LABEL ID = SubjectLabel Text = Runat = Server /> < /td>
</tr>
<tr class = flight>
<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 = 'reply.aspx? postid = < %= request.params [previd] %>'> Нажмите здесь </a>, чтобы вернуться назад
откуда ты пришел.
< %} %>
</h4>
</center>
<!-#include file = cool.inc->
</body>
</html>