【发布时间】:2016-11-19 13:48:23
【问题描述】:
我在 c# windows 应用程序中工作,我做了一个项目,即将数据从 csv 文件导入 mysql 服务器。我得到了导入数据的链接,但是当我尝试时我遇到了问题
附加信息:外部表不是预期的格式
在我的代码中
我在 Microsoft Visual Studio 2015 工作,.NET Framework 4.5.2。
代码
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Text files | *.csv";
if (dlg.ShowDialog() == DialogResult.OK)
{
string fileName;
fileName = dlg.FileName;
textBox1.Text = fileName;
}
}
private void button2_Click(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
string path = textBox1.Text;
string name = "";
string age = "";
string class = "";
string sec = "";
string address = "";
string phno = "";
OleDbConnection my_con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;");
my_con.Open();
OleDbCommand icmd = new OleDbCommand("SELECT * FROM [dataGridView1_Data$]", my_con);
OleDbDataReader dr = icmd.ExecuteReader();
while (dr.Read())
{
name = dr[0].ToString();
age = dr[1].ToString();
class = dr[2].ToString();
sec = dr[3].ToString();
address = dr[4].ToString();
phno = dr[6].ToString();
MySqlConnection con = new MySqlConnection("SERVER=10.65.43.687;" +
"DATABASE=student;" +
"UID=root;" +
"PASSWORD=root123");
con.Open();
MySqlCommand icmmd = new MySqlCommand("INSERT INTO student(name,age,class,sec,address,phno)VALUES(@a,@b,@c,@d,@e,@f)", con);
icmmd.Parameters.AddWithValue("a", Name);
icmmd.Parameters.AddWithValue("b", Age);
icmmd.Parameters.AddWithValue("c", Class);
icmmd.Parameters.AddWithValue("d", Section);
icmmd.Parameters.AddWithValue("e", Address);
icmmd.Parameters.AddWithValue("f", Phone);
icmmd.ExecuteNonQuery();
con.Close();
}
MessageBox.Show("data Imported");
textBox1.Text = "";
}
else if (textBox1.Text == "")
{
}
MessageBox.Show("Upload Successfull!");
}
行中的错误:
my_con.Open();
请大家帮我解决我的问题。
【问题讨论】:
-
连接字符串问题:connectionstrings.com/excel
-
@x... 它是一个 excel 连接字符串。但是我使用的是csv文件是我需要使用excel连接吗?
-
对于 csv 文件,只需使用 File.ReadAllLines,更简单。然后使用 string.Split 分割线。