我有一个代码,可以将excel文件导入并显示到datagridview,我想知道你是否帮助我如何将这些工作表从我的excel文件保存到mysql中的数据库?我的工作表名称是一级评分,二级评分和出勤率,我正在使用c#
。无论如何,这是我的代码:
private void btnSaved_Click(object sender, EventArgs e)
{
int qtr = 0;
string att_qtr = "ATTENDANCE";
MySqlConnection con = new MySqlConnection("Server = DESKTOP-9H7QBOH; Database = sti_spms; UID = root; Password = 1234;");
try
{
string query = "INSERT INTO tbl_secondsem_grades(STUDENT_NO, NAME, SUBJECT, SECTION, GRADE, INITIAL_GRADE, QTR)" + "Values(@STUDENT_NO, @NAME, @SUBJECT, @SECTION, @GRADE, @INITIAL_GRADE, @QTR)";
query += "INSERT INTO tbl_attendance(STUDENT_ID, NAME, SUBJECT, SECTION, TOTAL_ABSENCES)" + "Values(@STUDENT_ID, @NAME, @SUBJECT, @SECTION, @TOTAL_ABSENCES)";
MySqlCommand cmd = new MySqlCommand(query, con);
DataTable dt = new DataTable();
con.Open();
for (int i = 0; i < dataGridView1.Rows.Count -1; i++)
{
if(quarter.Equals("1st QTR"))
{
qtr = 1;
}
else if(quarter.Equals("2nd QTR"))
{
qtr = 2;
}
else if(quarter.Equals("3rd QTR"))
{
qtr = 3;
}
else if(quarter.Equals("4th QTR"))
{
qtr = 4;
}
else if (quarter.Equals("ATTENDANCE"))
{
att_qtr = "ATTENDANCE";
}
else
{
MessageBox.Show("Error!");
}
//int num = Convert.ToInt32(dataGridView1.Rows[i].Cells["STUDENT NO"].Value.ToString());
cmd.Parameters.AddWithValue("@STUDENT_NO", dataGridView1.Rows[i].Cells["STUDENT NO"].Value.ToString());
cmd.Parameters.AddWithValue("@NAME", dataGridView1.Rows[i].Cells["NAME"].Value.ToString());
cmd.Parameters.AddWithValue("@SUBJECT", dataGridView1.Rows[i].Cells["SUBJECT"].Value.ToString());
cmd.Parameters.AddWithValue("@SECTION", dataGridView1.Rows[i].Cells["SECTION"].Value.ToString());
cmd.Parameters.AddWithValue("@INITIAL_GRADE", dataGridView1.Rows[i].Cells["INITIAL GRADE"].Value.ToString());
cmd.Parameters.AddWithValue("@GRADE", dataGridView1.Rows[i].Cells["QG"].Value.ToString());
cmd.Parameters.AddWithValue("@QTR", qtr);
cmd.Parameters.AddWithValue("@STUDENT_NO", dataGridView1.Rows[i].Cells["STUDENT NO"].Value.ToString());
cmd.Parameters.AddWithValue("@NAME", dataGridView1.Rows[i].Cells["NAME"].Value.ToString());
cmd.Parameters.AddWithValue("@SUBJECT", dataGridView1.Rows[i].Cells["SUBJECT"].Value.ToString());
cmd.Parameters.AddWithValue("@SECTION", dataGridView1.Rows[i].Cells["SECTION"].Value.ToString());
cmd.Parameters.AddWithValue("@Total_Absences", dataGridView1.Rows[i].Cells["Total_Absences"].Value.ToString());
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}
}
catch (Exception ex)
{
MessageBox.Show("Data Sucessfully Saved!");
}
}
答案 0 :(得分:0)
快速部分
...
MySqlCommand cmd = new MySqlCommand(query, con);
DataTable dt = new DataTable();
cmd.Paramters.Add("@STUDENT_NO", MySqlDbType.Int); .. guessing this is an int - otherwise choose type
cmd.Paramters.Add("@NAME", MySqlDbType.String);
... // add rest here
con.Open();
...
for (.. ) {
...
int studentno;
int.TryParse(dataGridView1.Rows[i].Cells["STUDENT NO"].Value.ToString(), out studentno);
cmd.Paramters["@STUDENT_NO"].Value = studentno;
cmd.Paramters["@NAME"].Value = dataGridView1.Rows[i].Cells["NAME"].Value.ToString();
...
}