当前位置:  开发笔记 > 编程语言 > 正文

从.NET调用表值SQL函数

如何解决《从.NET调用表值SQL函数》经验,为你挑选了1个好方法。

可以从.NET调用标量值函数,如下所示:

SqlCommand cmd = new SqlCommand("testFunction", sqlConn); //testFunction is scalar
cmd.CommandType = CommandType.StoredProcedure;  
cmd.Parameters.Add("retVal", SqlDbType.Int);
cmd.Parameters["retVal"].Direction = ParameterDirection.ReturnValue;
cmd.ExecuteScalar();
int aFunctionResult = (int)cmd.Parameters["retVal"].Value;

我也知道可以以类似的方式调用表值函数,例如:

String query = "select * from testFunction(param1,...)"; //testFunction is table-valued
SqlCommand cmd = new SqlCommand(query, sqlConn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(tbl);

我的问题是,可以将表值函数作为存储过程调用,就像标量值函数一样吗?(例如,复制我的第一个代码片段,调用一个表值函数,并通过ReturnValue参数获取返回的表).



1> Nick Berardi..:

不,因为你需要选择它们.但是,您可以创建一个存储的proc包装器,这可能会破坏具有表函数的要点.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有