3) PostMessage.aspx: - La page qui a enregistré des données dans la base de données
<% @ Importer namespace = System%>
<% @ assembly name = System.Data%>
<% @ Importer namespace = System.Data%>
<% @ Importer namespace = System.data.ado%>
<% @ Page Language = C # Debug = True%>
<html>
<adal>
<Titre> Merci d'avoir publié! </TITME>
<Script Language = C # runat = Server>
// Exécuter ce script lorsque la page se charge
void page_load (objet Src, EventArgs e)
{
// Si la page est appelée à partir d'une autre page
if (! Page.ispostback) {
// obtient tous les paramètres de la chaîne de requête
String name = request.params [name];
chaîne e-mail = request.params [e-mail];
String sujet = request.params [sujet];
String ip = request.params [ip];
String Date = request.params [date];
Message de chaîne = request.params [message];
bool newMess = true;
String Precid = 1;
// Vérifiez si le message est un nouveau sujet ou une réponse à un nouveau sujet
if (request.params [newpost] .equals (non))
{
// Si c'est une réponse, alors obtenez la postid appelée comme prévu ici
newMess = false;
previd = request.params [precid];
}
// Si le message est un nouveau sujet, suivez la routine ci-dessous
if (Newmesss)
{
// la chaîne pour le chemin d'accès à la base de données, si votre base de données est dans un autre
Répertoire Modifiez ensuite le chemin
// de cette variable
String [e-mail protégé] Provider = Microsoft.Jet.oledb.4.0; Source de données =
+ server.mappath (.// db // billet.mdb);
// Obtenez un adoconnection à la base de données
Adoconnection MyConn = New Adoconnection (StrConn);
// l'instruction SQL Select
String strCom = SELECT POSTID FROM NEWPOST;
// Créez un adocommand puisque nous voulons un adodatareader plus tard
AdoCommand MyCommand = New Adocommand (Strcom, MyConn);
// Ouvrez la connexion
myConn.open ();
Lecteur AdodataReader;
// Exécuter la commande et intégrer les données dans le lecteur
myCommand.Exécute (lecteur out);
int i = 1;
// Obtenez le nombre actuel d'enregistrements présents dans la base de données.
while (reader.read ())
{
i ++;
}
Reader.Close ();
// Créez l'instruction SQL à insérer dans la base de données
String insertstr = insérer dans les valeurs newpost (
+ i +, '
+ nom + ','
+ e-mail + ','
+ sujet + ','
+ ip + ','
+ date + ','
+ message + ', 0, 0);
myCommand.CommandText = insertstr;
// Puisque l'instruction SQL ne renvoie aucune sortie, utilisez ExecutenOnQuery ()
myCommand.execuTenonQuery ();
// Fermez la connexion
myConn.close ();
}
autre
{
// Si les données publiées sont une réponse à un sujet, suivez la procédure ci-dessous
// chaîne pour le chemin d'accès à la base de données, si votre base de données est stockée dans un autre répertoire alors
// Modifiez le chemin ici
String [Email Protected] Provider = Microsoft.Jet.oledb.4.0; Source de données = +
server.mappath (.// db // billet.mdb);
Adoconnection MyConn = New Adoconnection (StrConn);
// Instruction SQL pour sélectionner la réponse
String strcom = sélectionnez Répondretid dans Répondre;
// Créer un adocommand
AdoCommand MyCommand = New Adocommand (Strcom, MyConn);
// Ouvrez la connexion
myConn.open ();
Lecteur AdodataReader;
// Exécuter la commande et intégrer les données dans le lecteur
myCommand.Exécute (lecteur out);
int i = 1;
// Obtenez le nombre actuel d'enregistrements présents dans la base de données.
while (reader.read ())
{
i ++;
}
Reader.Close ();
// Créez une instruction pour insérer les valeurs dans le tableau des réponses
String insertstr = insérer dans les valeurs de réponse (
+ i +, '
+ nom + ','
+ e-mail + ','
+ sujet + ','
+ ip + ','
+ date + ','
+ message + ',
+ PREVID +);
myCommand.CommandText = insertstr;
// ExecuteNonQuery - puisque la commande ne renvoie rien
myCommand.execuTenonQuery ();
// chaîne pour obtenir la colonne des réponses de la table newpost
String ReplyNo = SELECT REPLIES FROM NEWPOST WHERE POSTID = + PREVID;
myCommand.CommandText = RépondreNo;
// Exécuter la commande et obtenir le lecteur
myCommand.Exécute (lecteur out);
// Lire le premier enregistrement (n'oubliez pas qu'il ne peut y avoir qu'un seul enregistrement dans le lecteur puisque Postid est unique)
Reader.read ();
// Obtenez la valeur INT16 du nombre de réponses de la colonne des réponses dans la table Newpost
int rep = reader.getInt16 (0);
Reader.Close ();
rep ++;
// Instruction SQL pour mettre à jour le champ des réponses dans la table Newpost
String updtStr = Update newpost set réponses = + rep
+ où (postid = + previd +);
myCommand.CommandText = UPDTSTR;
// ExecuteNonQuerry Pourquoi ?? Je suppose que tu devrais savoir maintenant!
myCommand.execuTenonQuery ();
myConn.close ();
}
// Obtenez les différents paramètres de la chaîne de requête et stockez-la
// aux étiquettes respectives
nameLabel.Text = name;
emaillabel.text = e-mail;
SubjectLabel.Text = sujet;
MessageLabel.Text = message;
}
autre
{
// else affiche une erreur
errMess.Text = Cette page ne peut pas être appelée directement. il doit être appelé à partir de la page de publication de formulaire. <br>;
}
}
</cript>
<link href = mystyle.css type = text / css rel = Stylesheet>
</ head>
<Body topMargin = 0 LeftMargin = 0 droite-margin = 0 marginwidth = 0 marginheight = 0>
<! - #include file = header.inc ->
<Nenter>
<asp: étiquette id = errMess text = style = couleur: # ff0000 runat = server />
<h2 class = fodark> <b> Merci, d'avoir publié le babillard. </b> </h2>
<Table Align = Centre Largeur = 60% Border = 0 CELLSPACINE = 2 CELLPADDING = 1>
<tr class = Fohead> <td Colspan = 2> Les informations que vous avez publiées! </td> </tr>
<tr class = folight>
<td> Nom: </td>
<td> <asp: étiquette id = nameLabel text = runat = server /> </td>
</tr>
<tr class = folight>
<td> e-mail: </td>
<td> <asp: étiquette id = emaillabel text = runat = server /> </td>
</tr>
<tr class = folight>
<TD> Sujet: </td>
<td> <asp: étiquette id = sujectLabel text = runat = server /> </td>
</tr>
<tr class = folight>
<td> Message: </td>
<td> <asp: étiquette id = MessageLabel text = runat = server /> </td>
</tr>
</ table>
<br>
<h4 class = fodark> <a href = forum.aspx> cliquez ici </a> pour revenir au forum. <br>
<% - un peu de travail pour afficher le lien pour revenir à la page si le message était une réponse -%>
<% if (request.params [precid]! = null)
{%>
<a href = 'réponse.aspx? postid = <% = request.params [precid]%>'> cliquez ici </a> pour revenir en arrière
d'où vous venez.
<%}%>
</h4>
</ Center>
<! - #include file = footer.inc ->
</docy>
</html>