Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Asp.net将数据插入MySQL数据库_C#_Mysql_Asp.net - Fatal编程技术网

C# 如何使用Asp.net将数据插入MySQL数据库

C# 如何使用Asp.net将数据插入MySQL数据库,c#,mysql,asp.net,C#,Mysql,Asp.net,我试图使用Asp.Net将数据插入MYSQL数据库,但收到以下错误消息:由于System.InvalidOperationsException,无法连接到数据库。连接必须有效且打开。 以下是我正在做的: protected void SU_Button_Click(object sender, EventArgs e) { string connectionString = @"Data Source=mno; Database=xyz; User ID=

我试图使用Asp.Net将数据插入MYSQL数据库,但收到以下错误消息:由于System.InvalidOperationsException,无法连接到数据库。连接必须有效且打开。 以下是我正在做的:

protected void SU_Button_Click(object sender, EventArgs e)
        {
            string connectionString = @"Data Source=mno; Database=xyz; User ID=abc; Password=abc";
            using (MySqlConnection connection = new MySqlConnection(connectionString))
            {
                try
                {
                    string insertData = "insert into signup_table(firstname,surname,mobile_number,email_address,password," +
                                        "confirm_password) values (@F_Name, @S_Name, @M_Number, @E_Address, @Password, @C_Password)";
                    MySqlCommand command = new MySqlCommand(insertData, connection);

                    command.Parameters.AddWithValue("@F_Name",FN_TextBox.Text);
                    command.Parameters.AddWithValue("@S_Name", SN_TextBox.Text);
                    command.Parameters.AddWithValue("@M_Number", MN_TextBox.Text);
                    command.Parameters.AddWithValue("@E_Address", EA_TextBox.Text);
                    command.Parameters.AddWithValue("@Password", P_TextBox.Text);
                    command.Parameters.AddWithValue("@C_Password", CP_TextBox.Text);
                    int result = command.ExecuteNonQuery();
                    connection.Open();
                    MessageBox.Show("Connected to database");
                    MessageBox.Show("Data inserted successfully");
                }
                catch(Exception ex)
                {
                    MessageBox.Show("Failed to connect to database due to" + ex.ToString());
                    MessageBox.Show("Failed to insert data due to" + ex.ToString());
                }

            }
        }

请提出一些建议。提前感谢……:)

在执行查询之前,必须打开连接

    connection.Open();
    int result = command.ExecuteNonQuery();
也不要忘记在完成后关闭连接。

更改此选项

 int result = command.ExecuteNonQuery();
 connection.Open();
对此

  connection.Open();
  int result = command.ExecuteNonQuery();

如何在不首先打开连接的情况下执行查询?就像不开门就进了屋子,已经纠正了。不过还是要谢谢你……)我只是好奇,当你犯这个错误时,你的思维过程是什么?错误清楚地表明连接需要打开,错误被抛出到您的线路之前以打开连接。我从未意识到这一点,可能是因为我从过去8小时开始工作。此外,我对网络开发还不熟悉。我擅长安卓系统编程。我非常感谢它的成功。那是多么愚蠢的错误啊。我用using语句创建了连接。这可以确保不管发生什么情况,连接对象都会被处理掉。这也意味着我不需要特别关闭连接。