2011-03-23 49 views
2

我使用Oracle plsql从多年开始。 现在我想vb.net如何在vb.net函数内调用tsql函数?

我创建了返回一个char值的函数,这么写:

ALTER FUNCTION [abc].[GET_PERSON_TYPE] 
( 
@person_national_id CHAR(16) 
) 
RETURNS CHAR(1) AS 
BEGIN 

declare @person_type CHAR(1) 

SET @person_national_id = (
       SELECT p_type 
       FROM abc.persons 
       WHERE national_id = @person_national_id 
       ) 

RETURN @person_national_id 

END 

的问题:我将创建VB中的一个功能get_type(...)。净调用上面写的tsql函数... 我怎样才能调用tsql函数[abc]。[GET_PERSON_TYPE]在vb.net函数get_type(...)函数?

非常感谢。

+0

在这里看到类似的问题的一个很好的讨论:http://stackoverflow.com/questions/1300052/how-can-i-call-a-sqlserver-function-from-vb-netor-c- is-some-syntax-lik – 2011-03-23 16:33:21

回答

1

我不认为你可以直接调用这个函数,但是你可以在select语句中使用它。

select [abc].[GET_PERSON_TYPE]('abcde') 
+0

你可以用'EXEC'标量函数。 – 2011-03-23 14:52:43

+0

@马丁 - 不知道。所以基本上你可以像调用客户端的存储过程一样调用函数。我对vb.net一无所知,但是我在Delphi中测试过,并且它可以像执行存储过程一样调用函数。 – 2011-03-23 15:33:22