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

时间:2014-02-27 23:55:40

标签: c# mysql datagridview

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

1 个答案:

答案 0 :(得分: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 Server本身才能创建并连接到MySQL数据库。它不像Access这样的文件。如果您想要这样的东西,只需使用SQLite。

这个

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

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

vCmd.CommandText = "SELECT * FROM MyTable";

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