具有来自 db 函数的值的 DbDataAdapter

Posted

技术标签:

【中文标题】具有来自 db 函数的值的 DbDataAdapter【英文标题】:DbDataAdapter with value from a db function 【发布时间】:2015-08-12 15:15:38 【问题描述】:

是否可以使用 datarow[] 进行 tableadapter 更新 对于日期时间列,该值设置为 db 函数 ea getdate()、userDefinedFunctionReturnDateTime() 等。

所以不是来自数据行[]的固定值

INSERT INTO X(A,B,C)VALUES(1, '2015-01-01 00:00', 'name')

但函数值

INSERT INTO X(A,B,C)VALUES(1, getdate(), 'name')

类似datarow.ItemArray[1] = "getdate()"; 的东西?

【问题讨论】:

【参考方案1】:

是的,只需根据您的 SQL 数据库识别的命令设置插入值,它应该可以工作。

Ex: mysql could use NOW()
SQL-Server could use GetDate()

完全按照您的采样。唯一的问题是,您不会使用参数值,只需使用实际参数占位符的固定上下文 INSTEAD 构建您的插入语句。

您是否有特定的方式来构建插入语句?还是让它们以某种方式自动生成?

【讨论】:

不完全有效。当使用 datarow.SetField(2, "getdate()");我收到错误消息“字符串未被识别为有效的 DateTime。从索引 0 开始有一个未知单词。无法在 TIME_STAMP 列中存储 。预期类型为 DateTime。” @JeroendeJong,“SetField”是 SQL-Server 中的用户定义函数还是 C# 中的函数。如果在 SQL-Server 中,请不要在 getDate() 调用周围加上引号。

以上是关于具有来自 db 函数的值的 DbDataAdapter的主要内容,如果未能解决你的问题,请参考以下文章

具有来自多个类的值的 C++ std::vector

如何使用 jquery 创建具有来自动态创建的表单字段的值的多维数组?

Spark和Scala,通过映射公用键添加具有来自另一个数据帧的值的新列[重复]

具有来自函数属性的静态值的 jQuery 发布表单

用于解密 AES 值的 HSQL DB 函数

Hibernate / JPA在合并后获取数据库中具有默认值的列的值