c# - 我缺少什么将我的 C# 代码连接到 MySQL 数据库
问题描述
我很可能错过了一些明显的设置,我使用 XAMPP 按照初学者项目教程制作数据库,但是我收到错误 System.ArgumentException:'不支持选项。在
private MySqlConnection connection = new MySqlConnection("datasource:127.0.0.1;port=3306;username=root;password=;database=Csharp_Hotel_DB");
我已经搜索了如何连接到 MySQL,但发现与上述教程没有什么不同:
- 添加 MySql.Data.dll 作为参考,
-using MySql.Data.MySqlClient;
- 通过 XAMPP 在 localhost/phpmyadmin 中创建空表
然后测试if(table.Rows.Count > 0) {MessageBox.Show("Yes");} else {MessageBox.Show("No");}
分配给按钮的连接。该程序可以工作,但单击按钮会在上面给出错误消息。
解决方案
根据我在此处找到的示例(以及我经常在此处针对遇到的不同 RDBMS咨询的附加资源),您的连接字符串中的参数命名错误:
datasource:127.0.0.1;port=3306;username=root;password=;database=Csharp_Hotel_DB
它应该是:
Server=127.0.0.1;Port=3306;Uid=root;Pwd=;Database=Csharp_Hotel_DB
看起来您可能正在根据 MS SQL Server 标准格式化连接字符串。您在网上找到的大多数 C# 示例可能都有,因为它是同一个供应商。但是连接字符串取决于 RDBMS,而不是连接到它的语言。在这种情况下是 MySQL。
推荐阅读
- c# - Autofac 模块顺序注册导致对象被注入其默认实例值 (default(T))
- excel - Excel-根据同一行上的其他值填充缺失值
- php - htaccess - 将自定义重写添加到标准 wordpress 重写
- graphql - 如何在 GraphQL 中使用可选参数实现突变?
- regex - Perl 就地替换
- c++ - 交换不同项目的向量是否可能/合法?
- javascript - Mongoose:集合内的数组属性由 Model.find() 返回为空,即使它在数据库中有数据
- python - 如何通过 AutoML 实体提取中的文本片段发出预测请求?
- ionic-framework - Ionic 4 - 键盘覆盖表单内的输入字段
- c# - 需要在 WPF 中的每个视图上指定 TextBox 样式