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

问题描述 投票:0回答:1

我有这个 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 连接?请帮助我。

c# mysql datagridview
1个回答
0
投票

您需要使用 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 实际上是数据库中表的名称

© www.soinside.com 2019 - 2024. All rights reserved.