tutorial - sqlconnection c# sql server



Appel de fonctions SQL à table validé à partir de.NET (1)

Non parce que vous devez les sélectionner. Cependant, vous pouvez créer un wrapper de proc stocké, ce qui peut annuler le point d'avoir une fonction de table.

Les fonctions à valeur scalaire peuvent être appelées à partir de .NET comme suit:

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;

Je sais aussi que les fonctions de table peuvent être appelées de la même manière, par exemple:

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

Ma question est la suivante: les fonctions de table peuvent-elles être appelées comme des procédures stockées, comme les fonctions scalaires peuvent le faire? (Par exemple, répliquer mon premier extrait de code avec une fonction table appelée et obtenir la table retournée via un paramètre ReturnValue).





sql