Подключение к MYSQL из приложения ac #

0

базовая база данных по проекту изменилась с sql 2005 на MySql 5.1 Код имеет множество методов, аналогичных приведенным ниже. Я предполагаю, что это всего лишь случай переключения переменной "con" SqlConnection на специфическое соединение MYSql. Имел ли кто-нибудь опыт с этим? Я никогда не касался mySql db. Любая помощь очень ценится.

private SqlConnection con;

    public User LogonUser(string pUserName, string pPassword)
    {

        con = new SqlConnection();
        con.ConnectionString = DatabaseConstants.DB_CONN_STRING;


        using (con)
        {
            con.Open();
            var command = new SqlCommand();


            command.Connection = con;
            command.CommandText = "SELECT id FROM Users WHERE userName = @userName AND password = @password";
            command.CommandType = CommandType.Text;

            var userName = new SqlParameter("@userName", pUserName);
            var password = new SqlParameter("@password", pPassword);

            command.Parameters.Add(userName);
            command.Parameters.Add(password);


            User user;
            var dr = command.ExecuteReader();
            if (dr != null)

                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        user = new User();
                        user.id = dr.GetString(0);
                        return user;
                    }
                }
                else
                {
                    throw new Exception("Can not find user, please check your username and password");
                }
        }
        return null;
    }
Теги:

3 ответа

2
Лучший ответ

Загружаемые SQL-коннекторы доступны для различных фреймворков и платформ - в этом случае сборки для ссылки в ваш проект .NET под видом ADO.NET доступны с MySql. Может программировать против них, используя любой язык .NET.

Начните с С#, указав пространство имен MySql:

using MySql.Data.MySqlClient; 

и изменить имена классов ADO.NET от SqlConnection до MySqlConnection и т.д. Примеры кода Google показывают беглое использование ( аналогично другим поставщикам ADO.NET), и, конечно, документы MySql являются лучшей ссылкой.

4

Вы получили это частично правильно, но вам понадобится экземпляр поставщика MySQL, а не SqlConnection. Также вам придется изменить любой SQL, который несовместим с MySQL.

1

Нет, вы также должны изменить эту строку

var command = new SqlCommand();

к

var command = new con.CreateCommand();

и, конечно же, вы должны изменить любые специфические функции T-SQL и MSSQL для MySQL. Функция даты и времени, хранимая процедура и привязка параметров (? Вместо @) - это несколько вещей, которые вам нужно проверить.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню