错误状态:[dbo].[PrescriptionPamflet_modified] 触发器中的错误。触发器执行期间引发错误。批处理已中止,并且用户事务(如果有)已回滚。
我有以下 DevExpress 网格:
当我按下打印按钮时,它应该更新数据库值并打印报告。当没有更新时,一切正常。
注意:我使用 LINQ 设置网格的数据源,它
inPatientID
是我用来确定我正在处理的患者的主要关键变量。myDB
是我的数据上下文注意:网格的数据源来自
BindingSourcePrescriptionItems
这是我调用加载数据的代码:
Dim patientPrescriptions = From prescription In myDB.PrescriptionPamflets
Where prescription.PatientID = inPatientID
Select prescription
BindingSourcePrescriptionItems.DataSource = patientPrescriptions
这是打印按钮的代码:
BindingSourcePrescriptionItems.EndEdit()
GridViewPerscriptionPamflet.PostEditor()
Try
myDB.SubmitChanges()
Catch ex As Exception
DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message.ToString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Dim rpt As New XtraReportPrescriptionPamflet(inPatientID)
rpt.ShowPreview()
rpt.BringToFront()
- 注意:只有
PackSize
和Quantity
列是可编辑的,因为您不能/不应该更新主键和外键值。is的数据类型和PackSize
isdecimal
的数据类型也在网格以及 SQL Server 数据库本身上。Quantity
integer
任何帮助将不胜感激。我在网上找到的少数结果表明这是数据类型不匹配,但我的数据类型完全匹配。我不想使用 SQL 来更新数据库,因为我们公司正在转向使用 LINQ 来处理所有事情。