我有这个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连接?请帮帮我。
答案 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实际上是数据库中表的名称