3) PostMessage.aspx:- A página que salvou dados no banco de dados
< %@ Import Namespace = System %>
< %@ Nome da montagem = System.data %>
< %@ importar namespace = System.data %>
< %@ importar namespace = system.data.ado %>
< %@ Page Language = C# Debug = True %>
<html>
<head>
<title> Obrigado por postar! </title>
<idioma script = c# runat = servidor>
// Execute este script quando a página carrega
void Page_load (objeto src, EventArgs e)
{
// Se a página for chamada de outra página
if (! Page.ispostback) {
// Obtenha todos os parâmetros da string de consulta
Nome da string = request.params [nome];
string email = request.params [email];
String sujeito = request.params [sujeito];
string ip = request.params [ip];
string date = request.params [data];
string message = request.params [mensagem];
bool newmess = true;
string previd = 1;
// Verifique se a postagem é um novo tópico ou uma resposta a um novo tópico
if (request.params [newpost] .equals (não))
{
// Se for uma resposta, então pegue o postid chamado como prev aqui
newmess = false;
previde = request.params [previde];
}
// Se a postagem for um novo tópico, siga a rotina abaixo
If (Newmess)
{
// A sequência para o caminho para o banco de dados, se o seu banco de dados estiver em algum outro
diretório então edite o caminho
// desta variável
String [email protegido] provedor = microsoft.jet.oledb.4.0; fonte de dados =
+server.mappath (.// db // board.mdb);
// Obtenha uma adoconnection no banco de dados
adoconnection myconn = new adoconnection (strconn);
// A instrução SQL SELECT
String strCom = selecione PostID no novoPost;
// Crie um adocommand, pois queremos um Adodatarader mais tarde
adocommand myCommand = new adocommand (strcom, myconn);
// Abra a conexão
myconn.open ();
Adodatarader Reader;
// execute o comando e coloque os dados no leitor
myCommand.execute (out leitor);
int i = 1;
// Obtenha o número atual de registros presentes no banco de dados.
while (leitor.read ())
{
i ++;
}
leitor.close ();
// Construa a instrução SQL para inserir no banco de dados
string insertstr = insert nos valores do NewPost (
+i +, '
+nome+','
+email+','
+sujeito+','
+ip+','
+data+','
+mensagem+', 0, 0);
myCommand.CommandText = insertstr;
// Como a instrução SQL não retorna nenhum método de uso de saída de uso executenonQuery ()
myCommand.ExecutenonQuery ();
// Fechar a conexão
myconn.close ();
}
outro
{
// Se os dados publicados forem uma resposta a um tópico, siga o procedimento abaixo
// string para o caminho para o banco de dados, se o seu banco de dados for armazenado em algum outro diretório, então
// edite o caminho aqui
String [email protegido] provedor = microsoft.jet.oledb.4.0; fonte de dados =++
server.mappath (.// db // board.mdb);
adoconnection myconn = new adoconnection (strconn);
// Declaração SQL para selecionar a resposta
string strcom = selecione ResponderId da resposta;
// Crie um adocommand
adocommand myCommand = new adocommand (strcom, myconn);
// Abra a conexão
myconn.open ();
Adodatarader Reader;
// execute o comando e coloque os dados no leitor
myCommand.execute (out leitor);
int i = 1;
// Obtenha o número atual de registros presentes no banco de dados.
while (leitor.read ())
{
i ++;
}
leitor.close ();
// Crie uma declaração para inserir os valores na tabela de resposta
string insertstr = insert nos valores de resposta (
+i +, '
+nome+','
+email+','
+sujeito+','
+ip+','
+data+','
+mensagem+',
+previd+);
myCommand.CommandText = insertstr;
// executenonQuery - já que o comando não retorna nada
myCommand.ExecutenonQuery ();
// string para obter a coluna de respostas da tabela NewPost
String ResponderNo = Selecione Respostas do NewPost onde PostID =+PrevID;
myCommand.CommandText = ResponderNo;
// execute o comando e pegue o leitor
myCommand.execute (out leitor);
// Leia o primeiro registro (lembre -se de que só pode haver um registro no leitor, já que o PostID é único)
leitor.read ();
// Obtenha o valor INT16 do número de respostas da coluna de respostas na tabela NewPost
int rep = leitor.getInt16 (0);
leitor.close ();
rep ++;
// Declaração SQL para atualizar o campo de respostas na tabela de post newpost
String updtstr = update newpost Set Responds = +Rep
+onde (postID = +previce +);
myCommand.CommandText = UPDTTRTR;
// ExecutenOnOnQuerry Por quê ?? Eu acho que você já deveria saber agora!
myCommand.ExecutenonQuery ();
myconn.close ();
}
// Obtenha os diferentes parâmetros da string de consulta e armazene -a
// para os respectivos rótulos
namelabel.text = nome;
emaillabel.text = email;
sujeitoLabel.Text = sujeito;
messagelabel.text = mensagem;
}
outro
{
// else exibir um erro
ErrMess.Text = Esta página não pode ser chamada diretamente. ele deve ser chamado na página de postagem de formulário. <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->
<Center>
<asp: rótulo id = errmess text = style = cor:#ff0000 runat = server />
<H2 Class = Fodark> <b> Obrigado, por postar no quadro de mensagens. </b> </h2>
<tabela alinhe = largura central = 60% borda = 0 CellSpacacing = 2 CellPadding = 1>
<tr class = fohead> <td colspan = 2> as informações que você postou! </td> </tr>
<TR Class = Folight>
<td> Nome: </td>
<Td> <asp: ID do rótulo = namelabel text = runat = server /> </td>
</tr>
<TR Class = Folight>
<td> e-mail: </td>
<Td> <asp: ID da etiqueta = emaillabel text = runat = server /> </td>
</tr>
<TR Class = Folight>
<td> Assunto: </td>
<Td> <asp: rótulo ID = SubjectLabel text = runat = server /> </td>
</tr>
<TR Class = Folight>
<td> mensagem: </td>
<Td> <asp: rótulo id = messagelabel text = runat = server /> </td>
</tr>
</tabela>
<br>
<H4 Class = Fodark> <a href = forum.aspx> Clique aqui </a> Para voltar ao fórum. <br>
<%-Um pouco de trabalho para mostrar o link para voltar à página se, a postagem foi uma resposta-%>
<% if (request.params [previde]! = null)
{ %>
<a href = 'Responder.aspx? postId = < %= request.params [previd] %>'> clique aqui </a> Para voltar
de onde você veio.
< %} %>
</h4>
</central>
<!-#include file = Footer.inc->
</body>
</html>