taheri-ali
شنبه 27 مهر 1387, 13:20 عصر
سلام
من يه مشكلي دارم و اون اينه كه فرض كنيد كه يك فرم دارم كه شماره كارمندي كارمندان يك اداره به عنوان unique key و نه primary توي اون ثبت مي شه و براي كليد new هم اين كدو نوشتم:
Try
mode="new"
Me.BsStudentsinfo.AddNew()
Me.BsStudentsinfo.MoveLast()
Catch ex As Exception
MessageBox.Show("اشكال رخ داده است" & ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
'End add new dta in database
براي save هم اين كد:
'code to save data
Try
If mode = "new" Then
Me.BsStudentsinfo.EndEdit()
Me.TaStudentsInformation.Update(Me.DsStudentsInfor mation.StInfo.GetChanges)
mode = "old"
Else
Me.BsStudentsinfo.EndEdit()
Me.TaStudentsInformation.Update(Me.DsStudentsInfor mation.StInfo)
End If
MessageBox.Show("اطلاعات مورد نظر ذخيره شد", "save", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
If Err.Number = 5 Then
MessageBox.Show("شماره دانشجويي وارد شده تكراري است", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error)
Me.BsStudentsinfo.CancelEdit()
Else
MessageBox.Show("اشكال رخ داده است" & vbCrLf & ex.Message, "خطا", MessageBoxButtons.OK _
, MessageBoxIcon.Error)
End If
End Try
'end code to save data
حالا اشكال اينه كه فرض كنيد من يك شماره كارمندي رو دو بار وارد مي كنم و پيغام خطا به كاربر داده مي شه تا اينجا درسته ولي اگر من پيغام رو ok كنم و اطلاعات شخص ديگري رو بخوامم وارد كنم باز هم به من پيغام خطا داده مي شه تا موقعي كه من فرم رو نبندم و دوباره باز نكنم اين حالت هست . كسي مي دونه دليلش چيه؟
من يه مشكلي دارم و اون اينه كه فرض كنيد كه يك فرم دارم كه شماره كارمندي كارمندان يك اداره به عنوان unique key و نه primary توي اون ثبت مي شه و براي كليد new هم اين كدو نوشتم:
Try
mode="new"
Me.BsStudentsinfo.AddNew()
Me.BsStudentsinfo.MoveLast()
Catch ex As Exception
MessageBox.Show("اشكال رخ داده است" & ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
'End add new dta in database
براي save هم اين كد:
'code to save data
Try
If mode = "new" Then
Me.BsStudentsinfo.EndEdit()
Me.TaStudentsInformation.Update(Me.DsStudentsInfor mation.StInfo.GetChanges)
mode = "old"
Else
Me.BsStudentsinfo.EndEdit()
Me.TaStudentsInformation.Update(Me.DsStudentsInfor mation.StInfo)
End If
MessageBox.Show("اطلاعات مورد نظر ذخيره شد", "save", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
If Err.Number = 5 Then
MessageBox.Show("شماره دانشجويي وارد شده تكراري است", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error)
Me.BsStudentsinfo.CancelEdit()
Else
MessageBox.Show("اشكال رخ داده است" & vbCrLf & ex.Message, "خطا", MessageBoxButtons.OK _
, MessageBoxIcon.Error)
End If
End Try
'end code to save data
حالا اشكال اينه كه فرض كنيد من يك شماره كارمندي رو دو بار وارد مي كنم و پيغام خطا به كاربر داده مي شه تا اينجا درسته ولي اگر من پيغام رو ok كنم و اطلاعات شخص ديگري رو بخوامم وارد كنم باز هم به من پيغام خطا داده مي شه تا موقعي كه من فرم رو نبندم و دوباره باز نكنم اين حالت هست . كسي مي دونه دليلش چيه؟