Моя веб-форма не сохраняется в базе данных успешно

#c# #sql #asp.net #database #forms

#c# #sql #asp.net #База данных #формы

Вопрос:

Моя форма не сохраняет текст в текстовом поле в базу данных. Возможно, у меня что-то не так в моем файле кода .cs, но я не могу с этим разобраться.

Это вполне может быть моя строка подключения.

Моя веб-форма:

 <form id="form1" runat="server">
    <div>
        <table>
            <tr>
                <td>
                    Enter selection text:
                </td>
                <td>
                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                </td>
            </tr>
                <td colspan="2" align="center">
                    <asp:Button ID="Button1" runat="server" Text="Submit" />
                </td>
            </tr>
        </table>
    </div>
</form>
  

Вот мой код:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page 
{
    SqlConnection con = new SqlConnection(@"Data Source=db65225900.db.1and1.com; Initial Catalog=db211255182; User ID=dbo652259000; Password=Password");

    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void Button1_Click1(object sender, EventArgs e)
    {
        con.Open();
        SqlCommand cmd = con.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "insert into homepageSelection values('" TextBox1.Text "')";
        cmd.ExecuteNonQuery();
        con.Close();    
    }
}
  

Мой MsSQL настроен следующим образом:

1 столбец: selectionText nvarchar(3000)

Комментарии:

1. Ваш запрос insert неверен

2. Это будет работать, если таблица содержит только один столбец

3. вы получаете какую-либо ошибку?

4. Вы получали какие-либо сообщения об ошибках при отладке? Инструкция Insert должна быть такой: INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

5. Какую ошибку вы получаете?

Ответ №1:

Отсутствует определение события нажатия кнопки в aspx

  <asp:Button ID="Button1" runat="server" Text="Submit" OnClick="Button1_Click1" />
                                             ---------------^
  

Ответ №2:

SqlConnection для SQL Server. Вам нужно MySqlConnection — это не часть .NET Framework. Так что это лучший подход, если вам также придется использовать MySqlCommand объект, а не SqlCommand объект.

Это MySQL, а не SQL. Итак, вам нужно подключиться к MySQL. Для этого вам необходимо загрузить и установить MySQL Connector / NET с официального сайта MySQL.

Тогда, вероятно, вы можете посмотреть на Connect C # to MySQL, чтобы узнать, как подключиться к базе данных MySQL и запустить различные команды Insert, Update, Select, Delete с использованием C#

Последнее, но не менее важное, что вы должны включить OnClick="Button1_Click1" в свой asp:Button

Ответ №3:

Вам необходимо задать имя столбца в инструкции insert

 cmd.CommandText = "insert into homepageSelection (ColumnName) values('" TextBox1.Text "')";
  

также вы пропустили событие щелчка

 <asp:Button ID="Button1" runat="server" Text="Submit" OnClick="Button1_Click1" />