首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LINQ程序未填充数据库

LINQ程序未填充数据库
EN

Stack Overflow用户
提问于 2020-12-05 14:59:25
回答 1查看 27关注 0票数 0

我是LINQ的新手,但是来自字段的一些帮助已经生成了以下代码,它工作正常;但不会将数据写入SQL Server数据库记录。

代码语言:javascript
复制
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

有人能告诉我怎么走吗?

EN

回答 1

Stack Overflow用户

发布于 2020-12-05 15:55:24

您是LINQ的新手,显然您甚至还没有开始使用它,因为在该代码中根本没有LINQ。您正在使用一个简单的ADO.NET类型的DataSet。

问题是您实际上并没有尝试将任何内容保存到数据库中。您需要在表适配器上调用Update才能实现这一点,这在代码中是看不到的。你似乎认为调用AcceptChanges会保存一些东西,但事实并非如此,DataTable中的每个DataRows都会跟踪它们自己的更改,而AcceptChanges基本上会告诉它们停止这样做,因为这些更改已经保存。不过,您实际上还没有完成节省。您需要在适当的表适配器上调用Update,它将保存更改,然后隐式调用AcceptChanges

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65154593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档