当用于SELECT的SQL语句将计算列作为返回字段之一时,使用SqlDataAdapter/SqlCommandbuilder进行插入和更新的正确方法是什么?
现在我得到了一个错误:“不能修改列的数量,因为它要么是计算列,要么是UNION运算符的结果”。
UPDATE:我使用如下查询解决了这个问题:
SELECT *, PercentRating * 500 AS CoreValue FROM ValueListings抛出计算列。现在起作用了。SqlCommandBuilder如何实现不将CoreValue字段构建到UPDATE和INSERT语句中?有人知道这在内部是如何工作的吗?
发布于 2010-06-29 16:24:49
使用以下句子:
从ValueListings中选择*
然后,在填充DataTable之后,向其添加一个计算列:
Dim Dt as new DataTable
Da.Fill(Dt)
Dt.columns.add("CoreValue", GetType(Double), "PercentRating * 500")发布于 2010-06-28 21:18:03
如果您可以避免使用*,那么以后您将省去麻烦。使用*如果更改架构,您的代码可能会中断。如果被命名为菲尔兹,你就很棒了。
https://stackoverflow.com/questions/951539
复制相似问题