我对 C# 语言相当陌生,同时使用教程来帮助更好地理解我在尝试制作一个简单的“按钮”来连接到 MySQL 数据库时遇到了以下情况。
我已在 Visual Studio 2013 中安装了 MySQL Connector .NET 6.9.6 引用和 MySQL Connector for ODBC (5.3.4),但出现以下错误:
The best overloaded method match for 'MySql.Data.MySqlClient.MySqlDataAdapter.MySqlDataAdapter(MySql.Data.MySqlClient.MySqlCommand)' has some invalid arguments.
Argument 1: cannot convert from 'string'to 'MySql.Data.MySqlClient.MySqlCommand'
不确定如何纠正它们,有人可以指出我正确的方向吗?我做了一些研究,但似乎还没有找到答案。
我的代码如下:
try
{
string mySqlConnection = "datasource=db;port=3306;username=usr;password=Pswd";
MySqlConnection mySqlConn = new MySqlConnection (mySqlConnection);
MySqlDataAdapter myDataAdapter = new MySqlDataAdapter (mySqlConnection);
myDataAdapter.SelectCommand = new MySqlCommand (" Select * database.edata ;", mySqlConn);
MySqlCommandBuilder cb = new MySqlCommandBuilder (myDataAdapter);
mySqlConn.Open();
DataSet ds = new DataSet ();
MessageBox.Show("Connected to Database");
mySqlConn.Close();
}
catch (Exception ex)
{
MessageBox.Show (ex.Message);
}
}
出于显而易见的原因,我替换了正确的连接详细信息,并连接到远程 MySQL 服务器而不是本地服务器。
最佳答案
您不应在 MySqlDataAdapter
构造函数中使用连接字符串。无论有没有连接,您都需要使用您的命令。喜欢;
MySqlConnection mySqlConn = new MySqlConnection (mySqlConnection);
MySqlCommand cmd = new MySqlCommand("Select * from database.edata");
cmd.Connection = mySqlConn;
MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(cmd);
看起来它没有一个以string
作为参数的构造函数,但它有一个MySqlCommand
。顺便说一句,您忘记了 sql 查询中的 FROM
部分。
并且不要忘记使用 using
语句自动处理您的连接、命令和 adwapter,而不是手动调用 Close
方法。
关于c# - Windows 窗体应用程序 - MySQL - 无法从 'string' 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31230445/