首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SqlCommandBuilder.DeriveParameters(命令)和IsNullable

SqlCommandBuilder.DeriveParameters(命令)和IsNullable
EN

Stack Overflow用户
提问于 2010-04-12 11:59:49
回答 2查看 1.3K关注 0票数 1

我已经写了一个O/R数据库包装器,它为它从数据库读取的存储过程生成一些包装器方法。

现在,如果存储的proc的输入参数缺省为NULL,我需要生成一些自定义包装器代码。问题是-我使用以下命令获取存储的proc参数:

代码语言:javascript
复制
SqlCommandBuilder.DeriveParameters(command)

而且它不会带来参数默认值。有没有办法查找这些默认值?它们是否存储在数据库中的任何位置?

顺便说一句,我使用的是SQL Server 2008

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-12 12:30:38

对于T-SQL存储过程,实现这一点的惟一方法是从sys.sql_modules表中解析出过程定义。从sys.parameters表中关于has_default_value列的BOL:

1=参数具有默认值。

SQL Server仅维护此目录视图中CLR对象的默认值;因此,对于Transact-SQL对象,此列的值为0。若要查看Transact-SQL对象中参数的默认值,请查询sys.sql_modules目录视图的definition列,或使用OBJECT_DEFINITION系统函数。

这里有一篇文章写给写了一个T-SQL函数的人,据说就是这样做的:Figure Out the Default Value of Stored Procedure Parameters.

票数 1
EN

Stack Overflow用户

发布于 2010-11-23 00:41:45

基本上,sqlcommandbuilder类会自动生成单个表命令,这些命令用于与sql服务器协调对数据集所做的更改。

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

https://stackoverflow.com/questions/2619808

复制
相关文章

相似问题

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