2011-03-23 4 views
2

J'arrive d'années avec Oracle plsql. Maintenant, je suis en train vb.netComment appeler une fonction tsql dans une fonction vb.net?

J'ai créé une fonction qui retourne une valeur de char, écrit ainsi:

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 

La question: Je vais créer un get_type de fonction (...) en vb. net qui appelle la fonction tsql écrite ci-dessus ... comment puis-je appeler la fonction tsql [abc]. [GET_PERSON_TYPE] dans la fonction vb.net fonction get_type (...)?

Merci beaucoup.

+0

Voir ici pour une bonne discussion sur la même question: http://stackoverflow.com/questions/1300052/how-can-i-call-a-sqlserver-function-from-vb-netor-c- is-there-some-syntax-lik –

Répondre

1

Je ne pense pas que vous pouvez appeler la fonction directement, mais vous pouvez l'utiliser dans une instruction select.

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

Vous pouvez utiliser les fonctions scalaires 'EXEC'. –

+0

@ Martinin - Je ne le savais pas. Donc, fondamentalement, vous pouvez appeler la fonction de la même façon que vous appelez une procédure stockée du client. Je ne sais rien à propos de vb.net mais j'ai testé dans Delphi et ça fonctionne bien d'appeler la fonction de la même manière que vous exécuteriez une procédure stockée. –

Questions connexes