c# - An item with the same key has already been added Issue on adding gridvalues to database -
in below code want insert gridview values database.when try insert values throws error "an item same key has been added.".only first row added database remaining rows not getting added.pls me solve issue.
protected void btnsave_click(object sender, eventargs e) { string check=string.empty; string branchid = dpbranch.selectedvalue; string classid = dpclassname.selectedvalue; string sectionid = dpsection.selectedvalue; testschool.schoolbusinesslyr.schoolbizclient attendance = new testschool.schoolbusinesslyr.schoolbizclient(); system.collections.generic.dictionary<string, string> assignstudentattendance = new system.collections.generic.dictionary<string, string>(); dataset ds = new dataset(); foreach (gridviewrow row in gdstudentattendance.rows) { string celltext = row.cells[0].text; string registerno = row.cells[2].text; int rowindex = 0; (int = 0; < gdstudentattendance.rows.count; i++) { //extract textbox values checkbox studentattendance = (checkbox)gdstudentattendance.rows[i].cells[i].findcontrol("chkattendance"); if(studentattendance.checked==true) { check="true"; } else { check="false"; } assignstudentattendance.add("branchid", branchid); assignstudentattendance.add("classid", classid); assignstudentattendance.add("sectionid", sectionid); assignstudentattendance.add("studentid", celltext.tostring()); assignstudentattendance.add("registerno", registerno.tostring()); assignstudentattendance.add("attendance", check.tostring()); attendance.insertstudentattendance(assignstudentattendance); } } }
you should create new dictionary each row. like:
protected void btnsave_click(object sender, eventargs e) { string check=string.empty; string branchid = dpbranch.selectedvalue; string classid = dpclassname.selectedvalue; string sectionid = dpsection.selectedvalue; testschool.schoolbusinesslyr.schoolbizclient attendance = new testschool.schoolbusinesslyr.schoolbizclient(); system.collections.generic.dictionary<string, string> assignstudentattendance; dataset ds = new dataset(); foreach (gridviewrow row in gdstudentattendance.rows) { //create new dictionary each row assignstudentattendance = new system.collections.generic.dictionary<string, string>(); string celltext = row.cells[0].text; string registerno = row.cells[2].text; int rowindex = 0; (int = 0; < gdstudentattendance.rows.count; i++) { //extract textbox values checkbox studentattendance = (checkbox)gdstudentattendance.rows[i].cells[i].findcontrol("chkattendance"); if(studentattendance.checked==true) { check="true"; } else { check="false"; } assignstudentattendance.add("branchid", branchid); assignstudentattendance.add("classid", classid); assignstudentattendance.add("sectionid", sectionid); assignstudentattendance.add("studentid", celltext.tostring()); assignstudentattendance.add("registerno", registerno.tostring()); assignstudentattendance.add("attendance", check.tostring()); attendance.insertstudentattendance(assignstudentattendance); } } }
Comments
Post a Comment