Affichage

rewstyle Messages postés 10 Date d'inscription mercredi 27 avril 2011 Statut Membre Dernière intervention 6 mai 2011 - 5 mai 2011 à 13:42
rewstyle Messages postés 10 Date d'inscription mercredi 27 avril 2011 Statut Membre Dernière intervention 6 mai 2011 - 6 mai 2011 à 18:11
salut a tout le monde
en faite je voudrai savoir comment on affiche le résultat d'une procédure stockée en vb. net. je passe les paramètres et après quand je clique sur le bouton je voudrai avoir le résultat de la procédure stockée qui est sous forme de table
merci d'avance

9 réponses

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
5 mai 2011 à 14:06
Salut,

Qu'as-tu produit comme code pour l'instant ?
Précise également le SGBD utilisé stp
0
Utilisateur anonyme
5 mai 2011 à 14:08
Bonjour, il faut que tu affecte ta procedure stockée à une sqlCommand (en supposant que tu utilise SQL Server), ensuite tu affecte à un SqlDataReader le resultat de ta sqlCommant (SqlDataReader = sqlCommand.executeReader)...
0
rewstyle Messages postés 10 Date d'inscription mercredi 27 avril 2011 Statut Membre Dernière intervention 6 mai 2011
5 mai 2011 à 14:44
voici le code que j'ai déjà prduit jopop.
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
Dim con As String = ConfigurationManager.ConnectionStrings("GeststockConnectionString").ConnectionString
Dim cntest As New SqlConnection(con)
Dim cmd As New SqlCommand("geststock", cntest)
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "quantite"
Dim nomc As New SqlParameter()
nomc.ParameterName = "@nom_ctr"
nomc.SqlDbType = SqlDbType.VarChar
nomc.Size = 30
nomc.Direction = ParameterDirection.Input
nomc.Value = n_centre.SelectedValue
cmd.Parameters.Add(nomc)
Dim ty As New SqlParameter()
ty.ParameterName = "@type"
ty.SqlDbType = SqlDbType.VarChar
ty.Size = 20
ty.Direction = ParameterDirection.Input
ty.Value = codes.text
cmd.Parameters.Add(ty)
Dim cod As New SqlParameter()
cod.ParameterName = "@cod_habit"
cod.SqlDbType = SqlDbType.Char
cod.Direction = ParameterDirection.Input
cod.Value = habit.SelectedValue
cmd.Parameters.Add(cod)
'afficher la resultat dans une DataGridView a l'aide de DataSet et DataAdapter
Dim ad As New SqlDataAdapter(cmd)
Dim ds As New DataSet()
ad.Fill(ds, "proc")
stock.DataSource = ds.Tables("Results")

message.Text = "opération effectuée avec succés!!!"
Catch ex As Exception
message.Text = ex.Message
End Try

End Sub
alexandrevandenberghe je vais essayer ta méthode pour voir
0
Utilisateur anonyme
5 mai 2011 à 14:55
D'apres ton code, je dirai qu'il est ok, sauf que ton dataset "ds" doit contenir une table "Results" et que ta procédure stockée "genere" une table qui a le même nom que le nom de la table dans le dataset...

vu que tu utilise un dataset, tu n'as pas besoin d'un datareader...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rewstyle Messages postés 10 Date d'inscription mercredi 27 avril 2011 Statut Membre Dernière intervention 6 mai 2011
5 mai 2011 à 15:01
d'accord mais je ne sais mm pas le nom retourné par ma procédure stocké. car la procédure que j'ai écrite me donne seulement la quantité du stock pour tel ou tel article. et je n'ai pas donné de nom à la table. et donc si je ne sais pas le nom de la table générée par la procédure stockée qu'est ce que je dois faire dans ce cas. ou comment faire pour le savoir
0
Utilisateur anonyme
5 mai 2011 à 16:00
Peux tu mettre la derniere ligne de ta procedure stockée...


Pour moi ça doit être :

SELECT X AS NOM_COLONNE_X, ..., Z AS NOM_COLONNE_Z INTO RESULTS FROM XXXXXX
0
rewstyle Messages postés 10 Date d'inscription mercredi 27 avril 2011 Statut Membre Dernière intervention 6 mai 2011
5 mai 2011 à 18:21
en faite voici le code de la procédure
create proc [dbo].[quantite](@nom_ctr varchar(30), @type varchar(20),@cod_habit char(3))
as
declare @ID_ctr int
declare @ID_habit int
set @ID_ctr =(select Id_ctr from CENTRE where nom_ctr=@nom_ctr)
set @ID_habit =(select ID_habit from HABITATION where cod_habit=@cod_habit and ID_ctr= @ID_ctr)
if @type=''
begin
select design_art, COUNT(*) as STOCK into RESULT from ARTICLE where ID_ctr= @ID_ctr
and ID_habit is null and traceart='A'
group by design_art
order by design_art
end

else
select design_art, COUNT(*) as QUANTITE into RESULT from ARTICLE
where ID_ctr=@ID_ctr
and ID_habit= @ID_habit
and traceart ='A'
group by design_art
order by design_art
alors??
0
Utilisateur anonyme
6 mai 2011 à 09:16
essaye avec ça en fin de ta procedure:

if @type= ''
begin
select design_art, COUNT(*) as STOCK into RESULT S from ARTICLE where ID_ctr = @ID_ctr
and ID_habit is null and traceart= 'A'
group by design_art
order by design_art
end

else
select design_art, COUNT(*) as QUANTITE into RESULT S from ARTICLE
where ID_ctr =@ID_ctr
and ID_habit= @ID_habit
and traceart ='A'
group by design_art
order by design_art
0
rewstyle Messages postés 10 Date d'inscription mercredi 27 avril 2011 Statut Membre Dernière intervention 6 mai 2011
6 mai 2011 à 18:11
Ben c'est pas grave j'ai finalement pu le faire. en faite c'était le if qui posait un peu de problème. car s'il saute par exemple la premiere condition il ne trouve nulle part la colonne stock qui renvoie donc une erreur. j'ai finalement séparé la procédure stockée en deux partie et maintenant ca marche tres bien. Sinon je voudrai savoir s'il est possible d'attaquer une base de donnée conçue sous SQL-SERVEUR avec ACCESS. c'est à dire faire des requete avec l'interface graphique d'ACCESS sur une base de donnée qui est sous SQL-SERVEUR?
Et merci beaucoup pour vos aides
0
Rejoignez-nous