方法'Open'没有重载需要1个或多个参数

时间:2012-07-09 07:06:34

标签: c# mysql excel adox

我有关于ADOX的错误,我不知道如何解决。

enter code here public static string[] GetTableExcel(string strFileName)
        {
            string[] strTables = new string[100];
            Catalog sCatalog = new Catalog();
            ADOX.Table sTable = new ADOX.Table();
            MySql.Data.MySqlClient.MySqlConnection sConn = new MySql.Data.MySqlClient.MySqlConnection();
            sConn.Open("server=localhost; Data Source = " + strFileName + ";user id=root;Password=1;database=test;persist security info=False");
            sCatalog.ActiveConnection = sConn;
            if (sCatalog.Tables.Count > 0)
            {
                int item = 0;
                foreach (ADOX.Table tab in sCatalog.Tables)
                {
                    if (tab.Type == "TABLE")
                    {
                        strTables[item] = tab.Name;
                        item++;
                    }
                }
            }
            return strTables;

说明的错误是'方法'没有重载'打开'需要一个参数。这里有什么样的灵魂可以帮助我吗?感谢

2 个答案:

答案 0 :(得分:2)

基本上在这一行:

   sConn.Open("server=localhost; Data Source = " + strFileName + ";user id=root;Password=1;database=test;persist security info=False");

您没有正确调用此功能。 open函数不接受连接字符串。

您应该在创建MySqlConnection实例时提供连接字符串,如下所示:

  MySql.Data.MySqlClient.MySqlConnection sConn = new MySql.Data.MySqlClient.MySqlConnection("server=localhost; Data Source = " + strFileName + ";user id=root;Password=1;database=test;persist security info=False");

然后按如下方式调用open函数:

  sConn.Open();

希望有所帮助。

答案 1 :(得分:1)

MySql.Data.MySqlClient.MySqlConnection.Open(string connStr)不可用,你应该调用

MySql.Data.MySqlClient.MySqlConnection sConn = new MySql.Data.MySqlClient.MySqlConnection("server=localhost; Data Source = " + strFileName + ";user id=root;Password=1;database=test;persist security info=False");
sConn.Open();