private void btnSubmit_Click(object sender, EventArgs e) { KnowledgePoint knowl = new KnowledgePoint(); knowl.Id = Guid.NewGuid().ToString("N"); knowl.Create = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); knowl.Modify = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); knowl.Name = this.tbKnowlName.Text.Trim(); knowl.Other = this.rtbOther.Text; if (this.rbRoot.Checked) { knowl.UpperKnowlId = "root"; } if (this.rbNotRoot.Checked) { knowl.UpperKnowlId = this.CurrentSelKnowl.Id; } CourseSpreadKnowl courseSpreadKnowl = new CourseSpreadKnowl(); courseSpreadKnowl.Id = Guid.NewGuid().ToString("N"); courseSpreadKnowl.Create = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); courseSpreadKnowl.Modify = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); courseSpreadKnowl.KnowlId = knowl.Id; courseSpreadKnowl.CourseId = this.courseId; this.addKnowlPoint(knowl, courseSpreadKnowl); this.Close(); }
//注意本次添加应该是一个事务,对两个表进行添加操作才对。 public void InsertOneKnowl(KnowledgePoint knowlPoint, CourseSpreadKnowl courseSpreadKnowl) { MySqlConnection mySqlConnection = new MySqlConnection(Model.MySqlHelper.Conn); mySqlConnection.Open(); MySqlTransaction mySqlTransaction = mySqlConnection.BeginTransaction(); string insertSql_knowledge_point = "INSERT INTO knowledge_point(knowledge_point.id,knowledge_point.utc8_create,knowledge_point.utc8_modify,knowledge_point.other,knowledge_point.`name`,knowledge_point.uk_upper_knowledge_point_id) VALUES (@id,@create,@modife,@other,@name,@upperId);"; string insertSql_course_spread_knowledge_point = "INSERT INTO course_spread_knowledge_point(course_spread_knowledge_point.id,course_spread_knowledge_point.utc8_create,course_spread_knowledge_point.utc8_modify,course_spread_knowledge_point.other,course_spread_knowledge_point.uk_knowledge_point_id,course_spread_knowledge_point.uk_course_id)VALUES(@id,@create,@modife,@other,@knowlId,@courseId);"; try { Model.MySqlHelper.ExecuteNonQuery(mySqlConnection, CommandType.Text, insertSql_knowledge_point, new MySqlParameter("@id", knowlPoint.Id), new MySqlParameter("@create", knowlPoint.Create), new MySqlParameter("@modife", knowlPoint.Modify), new MySqlParameter("@other", knowlPoint.Other), new MySqlParameter("@name", knowlPoint.Name), new MySqlParameter("@upperId", knowlPoint.UpperKnowlId)); Model.MySqlHelper.ExecuteNonQuery(mySqlConnection, CommandType.Text, insertSql_course_spread_knowledge_point, new MySqlParameter("@id", courseSpreadKnowl.Id), new MySqlParameter("@create", courseSpreadKnowl.Create), new MySqlParameter("@modife", courseSpreadKnowl.Modify), new MySqlParameter("@other", courseSpreadKnowl.Other), new MySqlParameter("@knowlId", courseSpreadKnowl.KnowlId), new MySqlParameter("@courseId", courseSpreadKnowl.CourseId)); } catch (Exception exc) { Console.WriteLine(exc.ToString()); mySqlTransaction.Rollback(); mySqlConnection.Close(); MessageBox.Show("操作失败,操作已回滚。"); } finally { Console.WriteLine("操作成功,状态:" + mySqlConnection.State); if (mySqlConnection.State != ConnectionState.Closed) { mySqlTransaction.Commit(); mySqlConnection.Close(); } } }
//===============委托们 private void AddKnowlPoint(KnowledgePoint knowlPoint, CourseSpreadKnowl courseSpreadKnowl) { this.IKnowltAndProblemFormReq.InsertOneKnowl(knowlPoint, courseSpreadKnowl); this.initData(); }