如何使用C#连接到MySql数据库?

时间:2019-09-19 18:14:11

标签: c# mysql

我试图通过c#webapi连接到我的xampp mysql服务器。也许它与我的连接字符串有关,但是我尝试了它的不同变体(我使用了https://www.connectionstrings.com/mysql/)。我使用SELECT * FROM mysql.user检查了我的uid和pwd是否存在sql,同时在phpmyadmin中也存在数据库Tennisapi。

CanRaiseEvents: true
ConnectionString: "server=127.0.0.1;port=3306;user id=root;password=abcdef;database=tennisapi"
ConnectionTimeout: 15
Container: null
DataSource: "127.0.0.1"
Database: "tennisapi"
DbProviderFactory: {MySql.Data.MySqlClient.MySqlClientFactory}
DesignMode: false
Events: {System.ComponentModel.EventHandlerList}
IsPasswordExpired: 'conn.IsPasswordExpired' threw an exception of type 'System.NullReferenceException'
ServerThread: 'conn.ServerThread' threw an exception of type 'System.NullReferenceException'
ServerVersion: 'conn.ServerVersion' threw an exception of type 'System.NullReferenceException'
Site: null
State: Closed
UseCompression: false

{MySql.Data.MySqlClient.MySqlConnection}

awk

1 个答案:

答案 0 :(得分:0)

您可以这样尝试。将DBConnect类与该连接字符串一起使用。使用DBConnection方法,您可以测试连接。

首先,您必须在项目中添加引用。右键单击您的项目名称->添加->参考...->勾选MySql.Data->确定

class DBConnect
{

    private MySqlConnection connection;
    private string datasource;
    private string username;
    private string password;
    private string database;


    //Constructor
    public DBConnect()
    {
        Initialize();
    }

    //Initialize values
    public void Initialize()
    {
        datasource = "127.0.0.1";
        username = "username";
        password = "password";
        database = "database_name";

        string connectionString = "datasource=" + datasource + ";" + "username=" + username + ";" + "password=" + password + ";" + "database=" + database + ";";

        connection = new MySqlConnection(connectionString);
    }

    /// <summary>
    /// Test Connection to the Server
    /// </summary>
    private void DBConnection()
    {
        //string ConnectionString = "datasource = localhost; username = root; password = ; database = test ";

        MySqlConnection DBConnect = new MySqlConnection(ConnectionString);

        try
        {
            DBConnect.Open();
            System.Windows.Forms.MessageBox.Show("Sucessfully connected!");
        }
        catch (Exception e)
        {
            System.Windows.Forms.MessageBox.Show(e.Message);
        }
    }
}

在您的Btn_Click事件中,您可以尝试此操作。

    private void Btn_Test_Click(object sender, RoutedEventArgs e)
    {
        //Create an instance of DBConnectTest
        DBConnectcs DBConnectc = new DBConnectc();

        extern_DBConnectcs.DBConnection();

    }
相关问题