Никакая перегрузка для метода 'Open' не принимает 1 или более аргумента

У меня есть ошибка, связанная с 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 ответа

Решение

MySql.Data.MySqlClient.MySqlConnection.Open(строка 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();

В основном в этой строке:

   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();

Надеюсь, это поможет.

Другие вопросы по тегам