首页 > 解决方案 > 我收到 OleDb 异常(无法更新。数据库或对象是只读的)。我正在尝试使用 c# 将 csv 文件插入到我的 mysql 数据库中

问题描述

private void btnSubmit_Click(object sender, EventArgs e)
{
if (textBox2.Text != "")
        {
            string path = textBox2.Text;
            string StudentNumber = "";
            string FirstName = "";
            string LastName = "";
            string Grade = "";

            string Section = "";
            string Letter = "";

            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())
            {
                StudentNumber = dr[0].ToString();
                FirstName = dr[1].ToString();
                LastName = dr[2].ToString();
                Grade = dr[3].ToString();
                Section = dr[4].ToString();
                Letter = dr[5].ToString();

                MySqlConnection connection = new MySqlConnection("datasource=localhost;port=3306;Initial Catalog='studentinfo';username=root;password=");
                connection.Open();

                MySqlCommand icmmd = new MySqlCommand("INSERT INTO studenttable(StudentNumber, FirstName, LastName, Grade, Section, Letter)VALUES(@a,@b,@c,@d,@e,@f)", connection);
                icmmd.Parameters.AddWithValue("a", StudentNumber);
                icmmd.Parameters.AddWithValue("b", FirstName);
                icmmd.Parameters.AddWithValue("c", LastName);
                icmmd.Parameters.AddWithValue("d", Grade);
                icmmd.Parameters.AddWithValue("e", Section);
                icmmd.Parameters.AddWithValue("f", Letter);
                icmmd.ExecuteNonQuery();
                connection.Close();
            }
            MessageBox.Show("data Imported");
            textBox2.Text = "";
        }
        else if (textBox2.Text == "")
        {

        }

我收到 OleDb 异常(无法更新。数据库或对象是只读的)。我正在尝试将 csv 插入到我的 mysql 表中。在这里尝试了这个 fromcode [使用 c# windows form 将 csv 文件插入 mysql 数据库表。我还是 C# 和 mysql 的新手。

标签: c#mysqlcsv

解决方案


推荐阅读