C# 如何将不同的工作表从excel文件保存到mysql数据库
我有一个将excel文件导入并显示到datagridview的代码,我想知道您是否可以帮助我如何将这些表格从excel文件保存到mysql中的数据库??我的表名是一年级、二年级和出勤率,我使用的是C# 如何将不同的工作表从excel文件保存到mysql数据库,c#,mysql,C#,Mysql,我有一个将excel文件导入并显示到datagridview的代码,我想知道您是否可以帮助我如何将这些表格从excel文件保存到mysql中的数据库??我的表名是一年级、二年级和出勤率,我使用的是c。无论如何,这是我的代码: private void btnSaved_Click(object sender, EventArgs e) { int qtr = 0; string att_qtr = "ATTENDANCE";
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!");
}
}
private void btnSaved_单击(对象发送者,事件参数e)
{
int-qtr=0;
字符串att_qtr=“出席”;
MySqlConnection con=newmysqlconnection(“Server=DESKTOP-9H7QBOH;Database=sti_spms;UID=root;Password=1234;”;
尝试
{
string query=“插入tbl_secondsem_成绩(学生编号、姓名、科目、区段、年级、初始成绩、QTR)”+“值(@STUDENT_编号、@NAME、@SUBJECT、@SECTION、@GRADE、@INITIAL_成绩、@QTR)”;
查询+=“插入tbl_出勤(学生ID、姓名、科目、部分、总缺勤)”+“值(@STUDENT_ID、@NAME、@SUBJECT、@SECTION、@TOTAL_缺勤)”;
MySqlCommand cmd=新的MySqlCommand(查询,con);
DataTable dt=新的DataTable();
con.Open();
对于(int i=0;i
快速部分
...
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();
...
}
这段代码有什么问题?你的代码出了什么问题?@ChetanRanpariya我的错误是STUDENT\u NO已经定义了。@PaulF它说STUDENT\u NO已经定义了你在命令中添加参数
@STUDENT\u NO
两次。删除行AddWithValue(@STUDENT\u NO…
在AddWithValue(@QTR)之后,…