Вы должны поместить импорт вверху файла под декларацией пакета (который, вероятно, у вас есть, нет?).
import java.awt.Rectangle;
Не пропустите ;
в конце!
вы можете использовать диспетчер пакетов, чтобы добавить его в качестве пакета, и это самый простой способ сделать. Вам не нужно ничего другого для работы с базой данных mysql.
Или вы можете выполнить команду ниже в консоли диспетчера пакетов
PM> Install-Package MySql.Data
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);
}
Посмотрев на код ниже, я попробовал его и нашел: вместо записи DBCon = DBConnection.Instance();
вы должны поставить DBConnection DBCon - new DBConnection();
(это сработало для меня)
, а вместо MySqlComman cmd = new MySqlComman(query, DBCon.GetConnection());
вы должны поставить MySqlCommand cmd = new MySqlCommand(query, DBCon.GetConnection());
(отсутствует d)
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();
}
if (_instance == null)
. Также сделайте bool result = false
по умолчанию, потому что он не может быть подключен к проблемам интернет-подключений и многим другим на самом деле не только потому, что имя базы данных не будет установлено. В этом случае if (String.IsNullOrEmpty(databaseName)) return false;
, потому что он просто выбросит исключение в противном случае и может даже вернуть true, что было бы неверно. Однако, рекомендуется, спасибо за чистый код.
– Brackets
22 March 2017 в 17:20