web-dev-qa-db-fra.com

ASP.net utilisant un formulaire pour insérer des données dans une table de serveur SQL

Salut en php je ferais un formulaire avec une action pour laisser dire une page process.php et dans cette page je prendrais les valeurs du post et en utilisant un mysql_query ferait une insertion. maintenant je suis perdu, j'essaie de créer un à partir et de faire une inserstion dans ASP.net avec SQL Server 2008 en utilisant Visual Studio 2010.

j'ai défini un sql db dans le dossier App_Data. fondamentalement ce dont j'ai besoin (à moins qu'il n'y ait une meilleure façon) est:

  1. comment puis-je obtenir les valeurs de publication.
  2. comment les insérer dans la base de données.

merci.

16
yossi

Il existe des tonnes d'exemples de code en ligne sur la façon de procéder.

Voici juste un exemple de la façon de procéder: http://geekswithblogs.net/dotNETvinz/archive/2009/04/30/creating-a-simple-registration-form-in-asp.net.aspx

vous définissez les zones de texte entre la balise suivante:

<form id="form1" runat="server"> 

vous créez vos zones de texte et les définissez comme suit: runat = "server":

<asp:TextBox ID="TxtName" runat="server"></asp:TextBox>

définir un bouton pour traiter votre logique comme cela (notez le onclick ):

<asp:Button ID="Button1" runat="server" Text="Save" onclick="Button1_Click" />

dans le code derrière, vous définissez ce que vous voulez que le serveur fasse si l'utilisateur clique sur le bouton en définissant une méthode nommée

protected void Button1_Click(object sender, EventArgs e)

ou vous pouvez simplement double-cliquer sur le bouton en mode Création.

Voici un exemple très rapide de code à insérer dans un tableau dans l'événement click click (codebehind)

protected void Button1_Click(object sender, EventArgs e)
{
   string name = TxtName.Text; // Scrub user data

   string connString = ConfigurationManager.ConnectionStrings["yourconnstringInWebConfig"].ConnectionString;
   SqlConnection conn = null;
   try
   {
          conn = new SqlConnection(connString);
          conn.Open();

          using(SqlCommand cmd = new SqlCommand())
          {
                 cmd.Conn = conn;
                 cmd.CommandType = CommandType.Text;
                 cmd.CommandText = "INSERT INTO dummyTable(name) Values (@var)";
                 cmd.Parameters.AddWithValue("@var", name);
                 int rowsAffected = cmd.ExecuteNonQuery();
                 if(rowsAffected ==1)
                 {
                        //Success notification
                 }
                 else
                 {
                        //Error notification
                 }
          }
   }
   catch(Exception ex)
   {
          //log error 
          //display friendly error to user
   }
   finally
   {
          if(conn!=null)
          {
                 //cleanup connection i.e close 
          }
   }
}
16
clyc

Simple, faites une page asp simple avec le concepteur (juste pour le début) Disons que le corps est quelque chose comme ça:

<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <br />
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </div>
    <p>
        <asp:Button ID="Button1" runat="server" Text="Button" />
    </p>
    </form>
</body>

Génial, maintenant chaque objet asp IS un objet. Vous pouvez donc y accéder dans le code CS de l'asp. Le code CS de l'asp est déclenché par des événements (principalement). La classe héritera probablement de - System.Web.UI.Page

Si vous allez dans le fichier cs de la page asp, vous verrez un protectedLoid void protégé (expéditeur d'objet, EventArgs e) ... C'est l'événement de chargement, vous pouvez l'utiliser pour remplir des données dans vos objets lorsque la page se charge.

Maintenant, accédez au bouton dans votre concepteur (Button1) et regardez ses propriétés, vous pouvez le concevoir ou ajouter des événements à partir de là. Passez simplement à la vue des événements et créez une méthode pour l'événement.

Le bouton est un bouton de contrôle Web Ajoutez un événement Click au bouton, appelez-le Button1Click:

void Button1Click(Object sender,EventArgs e) { }

Maintenant, lorsque vous cliquez sur le bouton, cette méthode sera appelée. Parce que ASP est orienté objet, vous pouvez considérer la page comme la classe réelle et les objets contiendront les données actuelles réelles.

Donc, par exemple, si vous souhaitez accéder au texte dans TextBox1 il vous suffit d'appeler cet objet dans le code C #:

String firstBox = TextBox1.Text;

De la même manière, vous pouvez remplir les objets lorsqu'un événement se produit.

Maintenant que vous disposez des données publiées par l'utilisateur dans les zones de texte, vous pouvez utiliser des connexions SQL C # régulières pour ajouter les données à votre base de données.

2
Yochai Timmer