C# 如何使用Asp.net将数据插入MySQL数据库
我试图使用Asp.Net将数据插入MYSQL数据库,但收到以下错误消息:由于System.InvalidOperationsException,无法连接到数据库。连接必须有效且打开。 以下是我正在做的: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=
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语句创建了连接。这可以确保不管发生什么情况,连接对象都会被处理掉。这也意味着我不需要特别关闭连接。