有问题的代码中我们实现的代码是这样的:
<pre name="code" class="csharp">try { t_scores enscores = new t_scores(); for (int i = 0; i < newDataTable.Rows.Count; i++) { enscores.StudentNo = newDataTable.Rows[i]["StudentID"].ToString(); enscores.AllScore = float.Parse(newDataTable.Rows[i]["Score"].ToString()); enscores.ExamID = "20141227100841"; CurrentDal.Add(enscores); } return DbSession.SaveChanges() >= 0; } catch (Exception dbEx) { throw dbEx; }
刚开始一直怀疑是插入语句的问题,因为这是我们第一次用mysql数据库,找了很多解决此类问题的方法,都没有解决这个问题。
后来仔细阅读了一下代码,发现是代码写的有问题,大家可以看一看下面的正确代码:<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="csharp">try { for (int i = 0; i < newDataTable.Rows.Count; i++) { t_scores enscores = new t_scores(); enscores.StudentNo = newDataTable.Rows[i]["StudentID"].ToString(); enscores.AllScore = float.Parse(newDataTable.Rows[i]["Score"].ToString()); enscores.ExamID = "20141227100841"; CurrentDal.Add(enscores); } return DbSession.SaveChanges() >= 0; } catch (Exception dbEx) { throw dbEx; }
抛开问题不说,这反映出我们编写代码的时候将实现放在了第一位,而忽略了逻辑,只是一个小细节,就能出现意想不到的错误,最好解决的问题是编译时出现的问题,中等层次的问题是编译通过但是运行时无法进行的问题,最最困难的问题是编译和运行都没有问题,但是运行之后无法达到我们期望的效果。
希望大家能够引以为戒,enjoy coding!