我有这个 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 连接?请帮助我。
您需要使用 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 实际上是数据库中表的名称