学员数据,可能有多个用户在输入,输入后,调用存储过程保存数据,保存好后,马上就关闭窗口。
我自己测试时,随便如何也只保存一条数据,可一拿到用户处测试,一按保存,就保存两条甚至三条一摸一样的数据。
我觉得不可理解啊,调用存储过程保存数据后,马上就关闭窗口了啊,用户不可能再点击保存按钮保存两次。难道存储过程执行了几次?
大家帮我提提建议,怎么会一次保存同一数据,保存好几次。

解决方案 »

  1.   

    看看表中是否真的有多条记录存在直接到存储过程中去调试,有可能是你的存储过程插入了几条数据,另外一个可能就是,你的表中有可能有INSERT 触发器,导致数据多插入表
      

  2.   

    1、看过了,表中确实存在多条记录,而且用户说她们点了一次,就会偶尔产生2条,甚至3条重复记录。2、我的存储过程:
    CREATE PROCEDURE insert_student 
    @CName varchar(50),
    @EName varchar(50),

    @Step int,
    @ManBoy intASinsert into STUDENT(CName,EName ,Sex ,PurposeType ,RegTime ,BookTime,BookAPE,VisitTime ,Employee_Login_ID ,Phone,
    Employee_Consultant_ID,Employee_Tutor_ID,Source_ID,Corp ,Post ,Address ,Postcode ,Email ,IDCard ,Area_ID,Memo,
    BarNo,BarState_ID,CourseLevel_Begin_ID,CourseLevel_End_ID,CourseLevel_Now_ID,BeginTime ,EndTime ,Score,
    SignTime ,YSMoney ,Prefer,Step,ManBoy ) 
    values(@CName ,@EName ,@Sex ,@PurposeType ,@RegTime ,@BookTime,@BookAPE,@VisitTime ,@Employee_Login_ID,@Phone,
    @Employee_Consultant_ID,@Employee_Tutor_ID,@Source_ID,@Corp ,@Post ,@Address ,@Postcode ,@Email ,@IDCard,
    @Area_ID,@Memo ,@BarNo ,@BarState_ID ,@CourseLevel_Begin_ID,@CourseLevel_End_ID,@CourseLevel_Now_ID,
    @BeginTime ,@EndTime ,@Score ,@SignTime ,@YSMoney,@Prefer,@Step,@ManBoy )
    GO3、数据库中没有触发器