MySQL 데이터베이스에 연결하는 방법
C# 프로그래밍을 처음 접하는 경우MySQL
데이터베이스
알고있어요MySQL connector/NET
그리고.MySQL for Visual Studio
C# 개발에 필요합니다.
앱에 설치해야 하나요?
커넥터 DLL을 프로그램과 함께 해제해도 될까요?
업데이트:
양쪽이 최종 사용자에게 필요한가요, 아니면 커넥터에만 필요한가요?
그들이 더 필요한 게 있나요?
Oracle 설치MySql.Data
NuGet 패키지
using MySql.Data;
using MySql.Data.MySqlClient;
namespace Data
{
public class DBConnection
{
private DBConnection()
{
}
public string Server { get; set; }
public string DatabaseName { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
private MySqlConnection Connection { get; set;}
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={0}; database={1}; UID={2}; password={3}", Server, DatabaseName, UserName, Password);
Connection = new MySqlConnection(connstring);
Connection.Open();
}
return true;
}
public void Close()
{
Connection.Close();
}
}
}
예:
var dbCon = DBConnection.Instance();
dbCon.Server = "YourServer";
dbCon.DatabaseName = "YourDatabase";
dbCon.UserName = "YourUsername";
dbCon.Password = "YourPassword";
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();
}
패키지 관리자를 사용하여 패키지로 추가할 수 있으며 가장 쉬운 방법입니다.MySQL 데이터베이스 작업에는 다른 항목이 필요하지 않습니다.
또는 Package Manager Console에서 다음 명령을 실행할 수 있습니다.
PM> Install-Package MySql.Data
여기서 MySQL Connection NET을 다운로드해야 합니다.
그러면 추가가 필요합니다.MySql.Data.DLL
MSVisualStudio에 대해 다음과 같이 설명합니다.
- 메뉴 프로젝트 열기
- 더하다
- 언급
- 참조
C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.12\Assemblies\v4.5.2
- MySql을 추가합니다.Data.dll
자세한 내용은 여기를 클릭해 주세요.링크 설명을 입력하세요.
코드에서 사용하려면 라이브러리를 가져와야 합니다.
using MySql.Data.MySqlClient;
Click 이벤트에 의한 Mysql 데이터베이스로의 connectio(NO SSL MODE)의 예:
using System;
using System.Windows;
using MySql.Data.MySqlClient;
namespace Deportes_WPF
{
public partial class Login : Window
{
private MySqlConnection connection;
private string server;
private string database;
private string user;
private string password;
private string port;
private string connectionString;
private string sslM;
public Login()
{
InitializeComponent();
server = "server_name";
database = "database_name";
user = "user_id";
password = "password";
port = "3306";
sslM = "none";
connectionString = String.Format("server={0};port={1};user id={2}; password={3}; database={4}; SslMode={5}", server, port, user, password, database, sslM);
connection = new MySqlConnection(connectionString);
}
private void conexion()
{
try
{
connection.Open();
MessageBox.Show("successful connection");
connection.Close();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message + connectionString);
}
}
private void btn1_Click(object sender, RoutedEventArgs e)
{
conexion();
}
}
}
아래 코드를 보고 시도해보니 다음과 같습니다.쓰는 대신DBCon = DBConnection.Instance();
넣어야 한다DBConnection DBCon - new DBConnection();
(그건 나에게 효과가 있었다)
대신MySqlComman cmd = new MySqlComman(query, DBCon.GetConnection());
넣어야 한다MySqlCommand cmd = new MySqlCommand(query, DBCon.GetConnection());
(d가 누락되어 있습니다)
검토해야 할 또 다른 라이브러리는 MySqlConnector(https://mysqlconnector.net/입니다.Mysql.Data는 GPL 라이선스로 MySqlConnector는 MIT입니다.
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);
}
언급URL : https://stackoverflow.com/questions/21618015/how-to-connect-to-mysql-database
'programing' 카테고리의 다른 글
dll에 의해 노출된 모든 기능을 찾을 수 있는 방법이 있습니까? (0) | 2022.09.18 |
---|---|
웹 개발자용 Linux 프리 인스톨 (0) | 2022.09.18 |
두 날짜를 어떻게 비교하나요? (0) | 2022.09.15 |
x축 또는 y축을 반전하는 방법 (0) | 2022.09.15 |
포크와 exec의 차이점 (0) | 2022.09.15 |