【问题标题】:My web form is not saving to database successfully我的 Web 表单未成功保存到数据库
【发布时间】:2016-10-18 09:26:14
【问题描述】:

我的表单没有将 Texbox 中的文本保存到数据库中。我的 .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)

【问题讨论】:

  • 您的插入查询错误
  • 如果表只包含一列就可以了
  • 你有什么错误吗?
  • 调试时有没有收到任何错误信息?插入语句应该是这样的:INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
  • 你得到什么错误?

标签: c# sql asp.net database forms


【解决方案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 official website 下载并安装 MySQL 连接器/NET。

    那么您可能可以查看Connect C# to MySQL 以了解如何连接 MySQL 数据库并使用 C# 运行不同的插入、更新、选择、删除命令

    最后但并非最不重要的一点是,您必须在 asp:Button 中包含 OnClick="Button1_Click1"

    【讨论】:

      【解决方案3】:

      需要在insert语句中设置列名

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

      你也错过了点击事件

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

      【讨论】:

        猜你喜欢
        • 2015-10-13
        • 1970-01-01
        • 2021-08-13
        • 1970-01-01
        • 2021-10-07
        • 1970-01-01
        • 1970-01-01
        • 2018-02-02
        • 1970-01-01
        相关资源
        最近更新 更多