SqlAdapter et procédure stockée
bonjour,
Mon objectif au départ est d'arriver à utiliser une procédure stockée avec un argument en entrée pour définir la clause "where" de mon select !
Face à mon échec, j'essaye de simplifier :
Ma procédure stockée (simple select) :
Code:
1 2 3 4 5 6 7 8 9 10 11
| USE [test]
GO
/****** Object: StoredProcedure [dbo].[p_liste_tache] Script Date: 07/11/2015 19:21:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[p_liste_tache]
AS
select Id_tache,demande_tache,date_tache as Date,intervenant_tache as Intervenant,detail_tache as Detail from tblDemandeTache where demande_tache='96'; |
Une partie de mon code C#
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| try
{
String connectionString = "Data Source=CHNET\\SQLEXPRESS;Initial Catalog=test;User ID=sa;Password=*";
SqlConnection connection = new SqlConnection(connectionString);
// Create a DataSet.
DataSet data = new DataSet();
data.Locale = System.Globalization.CultureInfo.InvariantCulture;
SqlCommand cmd = new SqlCommand("p_liste_tache",connection);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter masterDataAdapter = new
SqlDataAdapter(cmd);
masterDataAdapter.Fill(data, "tblDemandeTache"); |
Je ne passe pour l'instant volontairement de paramètre à ma procédure !
Si j'éxécute ma procédure dans SqlServer, elle me retourne bien l'enregistrement par contre, le code C# lui ne retourne rien ("derrière un bind sur un
controle GridView construit à la volée) !
Par contre si dans ma procédure je supprime la clause "where demande_tache='96';" le DataSet est bien alimenté et mon code C# fonctionne.
J'ai préféré ne pas vous coller tout mon code C# cela n'est peut être pas utile
J'ai déjà utilisé des procédures stockées pour des update et insert pas de soucis mais je ne vois pas pourquoi cela fonctionne sous sqlserver et pas via C#
Une idée ? :calim2:
Merci