c# - SqlConnection,出现错误并且无法连接到数据库(发生在System.Data.dll中)

标签 c# mysql sql .net

我两周前才开始学习 C#,所以我知道的不多,但现在我只想制作我的第一个程序,我并不真正关心 ATM 中的安全缺陷,因为我会随着时间的推移修复这些缺陷了解更好的解决方案。

所以我得到了这个错误:

An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll

Additional information: A severe internal connection error has occurred.

我已经忍受这个错误两天了,现在修改我的代码并在互联网上搜索解决方案,但没有成功。所以我转到这里,因为我看到这里有一些专家。

有错误的代码:

        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和密码等

最佳答案

您使用了错误的连接类。您正在尝试像与 SQL Server 数据库一样与 MySQL 数据库进行通信。

您需要使用MySqlConnection,而不是SqlConnectionMySqlConnection 位于 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!");
        }
     }

关于c# - SqlConnection,出现错误并且无法连接到数据库(发生在System.Data.dll中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26149659/

相关文章:

mysql - 如何加速 MySQL 对 3 个表(总共约 6000 万行)的查询

sql - 选择存在于 Postgres 中所有数组中的值

sql - Oracle sql 列表

c# - 使用正则表达式删除脚本标签

c# - WCF 数据服务 (OData) 和 CORS

php - 在 json 响应中显示 2 个 id

php - 无法在虚拟机上运行 magento

java - 查询中的 SQL 变量导致意外的 SQL 语法错误

c# - asp中继器按钮文本更改

C# UserPrincipal - ChangePassword 执行策略但 SetPassword 不执行策略?