0

我对 SQL 数据库和 C# 语言还很陌生,尽管所有操作都正确,但我无法从我的 Web 应用程序向我的 SQL 数据库添加数据?我目前正在使用 Azure SQL 和 C# 进行培训,并且一直在使用以下培训视频:

https://www.youtube.com/watch?v=POWm4EfU9bA

我正在使用 MS Visual Studio 和 MS SQL Server Management Studio,我也在使用 Azure Web + SQL 服务,并且我已经打开了防火墙,允许我的客户端 IP 地址通过。

谁能从我的代码中弄清楚为什么我的网络表单中的数据没有被添加到我的数据库中?这是我的编码,它“显然”将数据从位于我的前端 Web 应用程序中的表单添加到我的 SQL 数据库中:

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

namespace bluecitywebapplication
{
    public partial class WebForm1 : System.Web.UI.Page
    {


        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == true)
            {
                Label1.Text = ("Great job!");

            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            SqlConnection stormconn = new SqlConnection("Server=tcp:bluecitydb.database.windows.net,1433;Initial Catalog=xxx;Persist Security Info=False;User ID=xxx;Password=xxx;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;");
            {
                SqlCommand insert = new SqlCommand("EXEC dbo.InsertFullname @Fullname", stormconn);
                insert.CommandType = System.Data.CommandType.StoredProcedure;
                insert.Parameters.AddWithValue("@Fullname", TextBox1.Text);
                insert.Parameters.AddWithValue("@Address", TextBox2.Text);
                insert.Parameters.AddWithValue("@Email", TextBox3.Text);


                stormconn.Open();
                insert.ExecuteNonQuery();
                stormconn.Close();

                if (IsPostBack)
                {
                    TextBox1.Text = ("");
                }
            }
        }
    }
}
4

1 回答 1

-1

对不起,我为这个错误道歉,我认为你在你的问题中遇到了连接问题。我仔细阅读了代码,发现执行过程的代码存在问题。我更新了代码。

 protected void Button1_Click(object sender, EventArgs e)
 {
    using (var connection = new MySqlConnection("Server=tcp:xxxx.database.windows.net,1433;Initial Catalog=xxxx;Persist Security Info=False;User ID=xxxxx;Password=xxxxx;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"))
    {
        MySqlCommand command = new MySqlCommand("InsertFullname", connection);
        command.CommandType = CommandType.StoredProcedure;
        command.Parameters.Add(new MySqlParameter("Fullname", TextBox1.Text));

        command.Connection.Open();
        var result = command.ExecuteNonQuery();
        command.Connection.Close();
    } 
 }
于 2019-02-04T10:07:49.370 回答