我是LINQ的新手,但是来自字段的一些帮助已经生成了以下代码,它工作正常;但不会将数据写入SQL Server数据库记录。
Public Function Error_Log_Add(ServiceDateRec As VariantType, Seq As VariantType, RosterID As VariantType, ContactID As VariantType, MessageID As VariantType)
'
' Add Error Message to a Service
'
Error_Log_Add = False
Dim context As RosterMaster_Rostering = Me.RosterMaster_Rostering
Dim newErrorDataSet As RosterMaster_Rostering.ErrorLogDataTable = context.ErrorLog
Dim newErrorLogRow As RosterMaster_Rostering.ErrorLogRow
newErrorLogRow = newErrorDataSet.NewRow()
newErrorLogRow.ServiceDateID = ServiceDateRec
newErrorLogRow.Seq = Seq
newErrorLogRow.Roster_Required = RosterID
newErrorLogRow.PostID = ContactID
newErrorLogRow.Error_Message = MessageID
newErrorDataSet.Rows.Add(newErrorLogRow)
newErrorDataSet.AcceptChanges()
MsgBox("Inserted" + newErrorDataSet.Rows.Count.ToString())
End Function有人能告诉我怎么走吗?
发布于 2020-12-05 15:55:24
您是LINQ的新手,显然您甚至还没有开始使用它,因为在该代码中根本没有LINQ。您正在使用一个简单的ADO.NET类型的DataSet。
问题是您实际上并没有尝试将任何内容保存到数据库中。您需要在表适配器上调用Update才能实现这一点,这在代码中是看不到的。你似乎认为调用AcceptChanges会保存一些东西,但事实并非如此,DataTable中的每个DataRows都会跟踪它们自己的更改,而AcceptChanges基本上会告诉它们停止这样做,因为这些更改已经保存。不过,您实际上还没有完成节省。您需要在适当的表适配器上调用Update,它将保存更改,然后隐式调用AcceptChanges。
https://stackoverflow.com/questions/65154593
复制相似问题