Никакая перегрузка для метода '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();
Надеюсь, это поможет.