OleDB 连接字符串到 MySQL 连接字符串

我有这个 OleDB 代码,它基本上读取一个 excel 文件并在单击按钮后将其显示到 datagridview 上:

string pathConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txtPath.Text + ";Extended Properties="Excel 8.0;HDR=Yes;";";

OleDbConnection conn = new OleDbConnection(pathConn);

OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("SELECT * FROM [" + txtSheet.Text + "$]", conn);
DataTable dt = new DataTable();

myDataAdapter.Fill(dt);

dgvViewDrivers.DataSource = dt;

我的问题是我将如何从这个 OleDB 连接字符串中建立一个 MySQL 连接?请帮我。

stack overflow OleDB Connection String to MySQL Connection String
原文答案

答案:

作者头像

您需要使用 MySQL .NET 连接器

http://dev.mysql.com/downloads/connector/net/

using (MySqlConnection conn = new MySqlConnection("SERVER=" + server + ";" + "DATABASE=" + 
    database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";"))
{
    using (MySqlCommand cmd = conn.CreateCommand())
    {
        cmd.CommandText = "sql here";
        cmd.ExecuteNonQuery();
    }
}

您当前的代码

using (vDBCon = new MySqlConnection("SERVER=localhost;Data Source=" + txtPath.Text + ";user=root;PASSWORD= ;")) 

txtPath.Text 需要是 MySQL 中数据库的名称。我假设你忘记了密码。如果没有,你需要一个。

"SERVER=localhost;Data Source=MyDatabase;user=root;PASSWORD=MyPassword;"

其中 MyDatabase 是您的数据库的实际名称,MyPassword 是您用来登录的密码

您必须实际运行 MySQL 服务器本身才能创建并连接到 MySQL 数据库。它不适用于像 Access 这样的文件。如果你想要类似的东西,只需使用 SQLite。

vCmd.CommandText = "SELECT * FROM [" + txtSheet.Text + "$]";

这您将从 MySQL 中的表中选择数据,因此它需要看起来像

vCmd.CommandText = "SELECT * FROM MyTable";

其中 MyTable 实际上是您在数据库中的表的名称