我刚刚开始学习C#2周,所以我不太了解,但现在我只是想制作我的第一个程序我并不真正关心ATM中的安全漏洞,因为我会随着时间的推移解决这些问题。知道更好的解决方案。
所以我收到了这个错误:
An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll
Additional information: A severe internal connection error has occurred.
我一直坐在这个错误2天,现在修改我的代码并在互联网上搜索没有运气的解决方案。所以我转到这里,因为我看到这里有一些专家。
错误代码:
using (SqlConnection con = new SqlConnection("server=SERVERIP,3306;Integrated Security=True;database=data;uid=USER;password=PASS"))
{
con.Open(); //ERROR HERE
using (SqlCommand cmd = new SqlCommand("insert into info(Datum,Timmar,Rast) Values(@Datum,@Timmar,@Rast)", con))
{
cmd.Parameters.AddWithValue("@Datum", textBox1.Text);
cmd.Parameters.AddWithValue("@Timmar", textBox2.Text);
cmd.Parameters.AddWithValue("@Rast", textBox3.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Sparat!");
}
}
所以基本上我试图用这个程序做的是这样用户输入文本框的数据就会保存在数据库中。
当我用大写字母输入单词时,我的意思是它就是其他东西,例如。 IP和密码等。
答案 0 :(得分:0)
您有Integrated Security=true
和uid=USER;password=PASS
如果您提供的是用户名和密码,则不应该Integrated Security=true
答案 1 :(得分:0)
您使用的是错误的连接类。您正试图与MySQL数据库通信,就像它是SQL Server数据库一样。
您需要使用MySqlConnection
,而不是SqlConnection
。 MySqlConnection
位于MySQL Connector/NET,也可以通过NuGet安装。
您的代码应如下所示。
using (MySqlConnection con = new MySqlConnection("server=SERVERIP;port=3306;database=data;uid=USER;password=PASS"))
{
con.Open(); // Hopefully no error here any more
using (MySqlCommand cmd = new MySqlCommand("insert into info(Datum,Timmar,Rast) Values(@Datum,@Timmar,@Rast)", con))
{
cmd.Parameters.AddWithValue("@Datum", textBox1.Text);
cmd.Parameters.AddWithValue("@Timmar", textBox2.Text);
cmd.Parameters.AddWithValue("@Rast", textBox3.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Sparat!");
}
}