[英]How to get the result returned back from a SQL Server stored procedure in C#
[英]get the data that was returned from the stored procedure SQL Server 2008 silvelight C# Linq
大家好,我刚刚开始使用存储过程在Linq“ Entity Framwork”中编程,而我的问题是:
我想检索从存储过程返回的数据,这是我的代码:
这是我的存储过程,这只是一个简单的选择
USE [Arret_dev]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[IsTheSame]
@ListeIdAffaires nvarchar(MAX),
AS
CREATE TABLE #AffairesIDs (AffaireID int);
DECLARE @requete nvarchar(max);
SELECT @requete =
'INSERT INTO #AffairesIDs(AffaireID)
SELECT [id] FROM [Affaire] WHERE ([id] in (' + @ListeIdAffaires + '))';
EXEC sp_executesql @requete;
BEGIN
SET NOCOUNT ON;
RETURN SELECT *
FROM #AffairesIDs, [dbo].[Affaire]
WHERE id = AffaireID ;
END
DROP TABLE #AffairesIDs;
GO
viewmodel代码:
private void IsTheSame(){
IsBusy = true;
InvokeOperation<IEnumerable<Affaire>> LoadAffaire = Context.Load(Context.IsTheSame(_selectedAffaires, InfoAffaire));
LoadAffaire.Completed += new EventHandler(IsTheSame_Completed);
}
private void IsTheSame_Completed(object sender, EventArgs e)
{
IsBusy = false;
TexteInfo = "Succès : les données des affaires sélectionnées ont été chargée.";
}
DomaineService:
[Invoke]
public IEnumerable<Affaire> IsTheSame(IEnumerable<int> selectedAffaires, Affaire infoAffaire)
{
// cette liste sera utilisée dans le IN de la proc stock
string listeIdAffaires = string.Join(",", selectedAffaires.ToArray());
return this.ObjectContext.IsTheSame(
listeIdAffaires,
);
}
如果您需要更多信息,请问我谢谢。
这是解决方案:
InvokeOperation<IEnumerable<Affaire>> LoadAffaire;
private void IsTheSame(){
IsBusy = true;
LoadAffaire = Context.IsTheSame(_selectedAffaires, InfoAffaire);
LoadAffaire.Completed += new EventHandler(IsTheSame_Completed);
}
private void IsTheSame_Completed(object sender, EventArgs e)
{
IsBusy = false;
TexteInfo = "Succès : les données des affaires sélectionnées ont été chargée.";
IEnumerable<Affaire> affaire = LoadAffaire.Value.AsEnumerable();
MessageBox.Show(affaire.ElementAt(0).nom_fichier_pretour);
}
对于存储过程,我取“ RETURN”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.