2015-07-05 46 views
0

我是相当新的C#语言沿着使用教程,以帮助更好地理解我试图做一个简单的'按钮,使得一个连接到MySQL数据库。Windows窗体应用程序 - MySQL - 无法从'字符串'转换

我已经安装了MySQL连接.NET 6.9.6参考和Visual Studio 2013中的MySQL连接的ODBC(5.3.4),但得到以下错误:

为 的最佳重载的方法匹配'MySql.Data.MySqlClient.MySqlDataAdapter.MySqlDataAdapter(MySql.Data.MySqlClient.MySqlCommand)' 有一些无效的参数。

参数1:无法从“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服务器不是本地的。

+0

应该是'select * from database.edata;'。也许其他问题.. – amdixon

回答

1

您不应该在您的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方法。

+0

完美,谢谢! – H3ALY

相关问题