AWS RDS соединяется с базой данных MySQL в C # [дубликат]

Вы должны поместить импорт вверху файла под декларацией пакета (который, вероятно, у вас есть, нет?).

  import java.awt.Rectangle;   

Не пропустите ; в конце!

58
задан Seyed Hamed Shams 7 February 2014 в 04:24
поделиться

5 ответов

вы можете использовать диспетчер пакетов, чтобы добавить его в качестве пакета, и это самый простой способ сделать. Вам не нужно ничего другого для работы с базой данных mysql.

Или вы можете выполнить команду ниже в консоли диспетчера пакетов

PM> Install-Package MySql.Data

NUGET Mysql.Data

38
ответ дан Damith 16 August 2018 в 01:03
поделиться
  • 1
    Если вы выполните поиск через «Управление пакетами NuGet», window, помните, что имя пакета чувствительно к регистру . Возможно, не такая очевидная вещь для кого-то из менеджеров пакетов с именами нижнего регистра. – Dimitry K 6 April 2015 в 16:08
 private void Initialize()
    {
        server = "localhost";
        database = "connectcsharptomysql";
        uid = "username";
        password = "password";
        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" + 
        database + ";" + "U`enter code here`ID=" + uid + ";" + "PASSWORD=" + password + ";";

        connection = new MySqlConnection(connectionString);
    }
0
ответ дан neelakanta 16 August 2018 в 01:03
поделиться

Посмотрев на код ниже, я попробовал его и нашел: вместо записи DBCon = DBConnection.Instance(); вы должны поставить DBConnection DBCon - new DBConnection(); (это сработало для меня)

, а вместо MySqlComman cmd = new MySqlComman(query, DBCon.GetConnection()); вы должны поставить MySqlCommand cmd = new MySqlCommand(query, DBCon.GetConnection()); (отсутствует d)

3
ответ дан Noah Wetjen 16 August 2018 в 01:03
поделиться
using MySql.Data;
using MySql.Data.MySqlClient;

namespace Data
{
    public class DBConnection
    {
        private DBConnection()
        {
        }

        private string databaseName = string.Empty;
        public string DatabaseName
        {
            get { return databaseName; }
            set { databaseName = value; }
        }

        public string Password { get; set; }
        private MySqlConnection connection = null;
        public MySqlConnection Connection
        {
            get { return connection; }
        }

        private static DBConnection _instance = null;
        public static DBConnection Instance()
        {
            if (_instance == null)
                _instance = new DBConnection();
           return _instance;
        }

        public bool IsConnect()
        {
            if (Connection == null)
            {
                if (String.IsNullOrEmpty(databaseName))
                    return false;
                string connstring = string.Format("Server=localhost; database={0}; UID=UserName; password=your password", databaseName);
                connection = new MySqlConnection(connstring);
                connection.Open();
            }

            return true;
        }

        public void Close()
        {
            connection.Close();
        }        
    }
}

Пример:

var dbCon = DBConnection.Instance();
dbCon.DatabaseName = "YourDatabase";
if (dbCon.IsConnect())
{
    //suppose col0 and col1 are defined as VARCHAR in the DB
    string query = "SELECT col0,col1 FROM YourTable";
    var cmd = new MySqlCommand(query, dbCon.Connection);
    var reader = cmd.ExecuteReader();
    while(reader.Read())
    {
        string someStringFromColumnZero = reader.GetString(0);
        string someStringFromColumnOne = reader.GetString(1);
        Console.WriteLine(someStringFromColumnZero + "," + someStringFromColumnOne);
    }
    dbCon.Close();
}
50
ответ дан Thomas Weller 16 August 2018 в 01:03
поделиться
  • 1
    Если у вас могут возникнуть проблемы с подключением к Интернету, и вы хотите попробовать, пока не подключитесь, это не сработает. Удалить строку if (_instance == null). Также сделайте bool result = false по умолчанию, потому что он не может быть подключен к проблемам интернет-подключений и многим другим на самом деле не только потому, что имя базы данных не будет установлено. В этом случае if (String.IsNullOrEmpty(databaseName)) return false;, потому что он просто выбросит исключение в противном случае и может даже вернуть true, что было бы неверно. Однако, рекомендуется, спасибо за чистый код. – Brackets 22 March 2017 в 17:20
  • 2
1
ответ дан Stephen Rauch 29 October 2018 в 07:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: