繁体   English   中英

从ADO.Net验证中省略数据库计算的字段

[英]Omit database-calculated field from ADO.Net validation

完全免责声明:我是C#<-> DB新手。 我在C#上还不错,在Access上也不错,但是将两者集成对我来说是新的。

在我的项目中,我使用的是OleDB / ADO.Net(我想-坦白地说,我只是在用Internet来形容)和Visual Studio的内置DataSource向导来处理Access数据库。

在我开始验证之前,一切似乎都终于可以了。 关于验证,我相信程序会尝试针对DB验证DataSet,这就是发生我的错误的地方-我有一个似乎不希望验证的计算字段。

我希望能够从推送的更新中仅排除该字段。

所以我的保存代码是这样的:

    private void saveDatabase()
    {
        this.Validate();
        this.standardizedPatientsBindingSource.EndEdit();
        this.tableAdapterManager.UpdateAll(this.hSS_SPsDataSet);  
    }

当我验证时,它会引发以下错误:

    System.Data.OleDb.OleDbException (0x80040E21): Cannot update 'FullName'; field not updateable.
    [... a list of all the methods where it breaks, many of which are called behind the scenes...]

我知道为什么它是不可更新的-它是一个计算字段-但是我不知道是如何忽略该字段的。

您很可能必须为您的DataSet中的所述DataTable手动编辑与TableAdapter关联的UpdateCommand(以及InsertCommand)。

您可以使用图形查询生成器从更新中删除“全名”字段并插入查询。

我不知道可以自动为Access计算字段完成此操作。 我可能是错的。

干杯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM