サブソニック2.2。私は自動増分intとしてappointmentIdを持つテーブル "appointment"を持つリポジトリレコードパターンを使用します。奇妙なことがリポジトリレコードで起こっています!
私はそれを更新しようとしていますが、フィールドを全く別のものに更新すると、ダーティーな列は常にゼロになり、例外が発生します。
System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。 SubSonic.DataService.ExecuteQuery(QueryCommand cmd)で、SubSonic.SubSonicRepository.Update([RepositoryRecord 1 item, String userName) at janji.Janji.Data.DB.Update[T](RepositoryRecord
1アイテム])をA:\ Source \ VS2008 \ Web \ Apps \ janji \ janji \ Classes \ DAL \ AllStructs.vbに保存します。中janji.WebForm4.SaveData(で197):\ janji \ UI \ Appt.aspx.vb \ソース\ VS2008 \ウェブ\アプリ\ janji:ライン343
はここに私のコードです:
Try
If Appointment.AppointmentId > 0 Then
Appointment.AddressName = uxHotel.Text
Appointment.Address = uxAddress.Text
Appointment.AppStartTime = Date.Parse(uxApptDate.SelectedDate.Value.ToShortDateString + " " + uxApptStartTime.SelectedDate.Value.ToShortTimeString)
Appointment.ApptEndTime = Date.Parse(uxApptDate.SelectedDate.Value.ToShortDateString + " " + uxApptEndTime.SelectedDate.Value.ToShortTimeString)
Appointment.Completed = uxCOmpleted.Checked
Appointment.DropNumber = uxDropNum.Text
Appointment.Total = 0
Appointment.EmployeeId = 0
Appointment.Model = uxModel.Text
Appointment.DropAmount = Decimal.Parse(uxDropAmount.SelectedValue)
Appointment.RoomNumber = uxRoom.Text
'If Appointment.DirtyColumns.Count > 0 Then
Janji.Data.DB.Update(Of Janji.Data.Appointment)(Appointment)
'End If
End If
Catch ex As Exception
_ErrorMessage = ex.ToString
RetVal = False
lErrors.Text = _ErrorMessage
lErrors.Visible = True
End Try
私はあなたがここでやっていることに全く従うことができません。あなたはもう少し要約できますか?それはインスタンスですか、あなたは構造体を使用していますか?あなたが構造体を使用していてオブジェクトをインスタンス化していないように見えます。 –
私は次のように作成しています: _Appointment = New SubSonic.Select()。(Janji.Data.Tables.Appointment)から。 (Janji.Data.Appointment.Columns.AppointmentId).IsEqualTo(CallLog.ApptId).ExecuteSingle(Of Janji.Data.Appointment)() –
また、プロパティを設定した後でも、ダーティー列は常に0です。 "markClean"とマークした場合、更新は失敗せず、何も更新されません。 –