ASP.net с использованием формы для вставки данных в таблицу сервера sql

Привет в php я будет делать форму с действием, чтобы сказать страницу process.php, и на этой странице я бы взял значения post, а использование mysql_query выполнило бы вставку. теперь я потерял, я пытаюсь создать и сделать inserstion в ASP.net с SQL Server 2008 с помощью Visual Studio 2010.

Я определил sql db в папке App_Data. в основном, что мне нужно (если нет лучшего способа):

  • как получить значения сообщений.
  • как вставить их в db.

спасибо.

Ответы

Ответ 1

Есть тонны кода примера онлайн, как это сделать.

Вот только один пример того, как это сделать: http://geekswithblogs.net/dotNETvinz/archive/2009/04/30/creating-a-simple-registration-form-in-asp.net.aspx

вы определяете текстовые поля между следующим тегом:

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

вы создаете свои текстовые поля и определяете их для runat = "server" следующим образом:

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

определите кнопку, чтобы обработать вашу логику так (обратите внимание на onclick):

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

в коде позади, вы определяете, что вы хотите, чтобы сервер выполнял, если пользователь нажимает кнопку, определяя метод с именем

protected void Button1_Click(object sender, EventArgs e)

или вы можете просто дважды щелкнуть по кнопке в представлении дизайна.

Вот очень быстрый пример кода для вставки в таблицу в событии click button (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 
          }
   }
}

Ответ 2

Простой, сделайте простую страницу asp с дизайнером (только для начала) Давайте скажем, что тело выглядит примерно так:

<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>

Отлично, теперь каждый объект asp является объектом. Таким образом, вы можете получить к нему доступ в коде CS CS. CS-код asp инициируется событиями (в основном). Класс, вероятно, наследует от System.Web.UI.Page

Если вы перейдете в cs файл на странице asp, вы увидите защищенную void Page_Load (отправитель объекта, EventArgs e)... Это событие загрузки, вы можете использовать это для заполнения данных в своих объектах, когда Загрузка страниц.

Теперь перейдите к кнопке в своем дизайнере (Button1) и посмотрите на ее свойства, вы можете ее спроектировать или добавить события оттуда. Просто измените представление событий и создайте метод для события.

Кнопка кнопка веб-управления Добавить событие Click на кнопку, вызывающую ее Button1Щелкните:

void Button1Click(Object sender,EventArgs e) { }

Теперь, когда вы нажимаете кнопку, этот метод будет вызван. Поскольку ASP объектно ориентирован, вы можете думать о том, что страница является фактическим классом, а объекты будут содержать фактические текущие данные.

Итак, если вы хотите получить доступ к тексту в TextBox1, вам просто нужно вызвать этот объект в коде С#:

String firstBox = TextBox1.Text;

Таким же образом вы можете заполнить объекты при возникновении события.

Теперь, когда у вас есть данные, которые пользователь отправил в текстовые поля, вы можете использовать обычные С# SQL-соединения для добавления данных в свою базу данных.