procédure stockée paramétrée
Bonjour tout le monde,
J’ai un problème un peu compliqué (au moins pour moi), je vais essayer de faire mon mieux pour vous expliquer.
Donc j’ai créé deux procédures stockées l’une pour remplir le rapport que j’ai créé par Crystal reports et l’autre pour sauvegarder quelques données affichées dans une table (odl_printed) qui a comme clé primaire un autonumber.
L’affichage et l’enregistrement se font simultanément car j’ai besoin d’afficher la dernière clé primaire de la table d’enregistrement odl_printed.
j'ai lié la première directement au rapport
la deuxième qui est une procédure paramétrée :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
create procedure p4
as
declare @p varchar(50)
INSERT INTO [Cutting software].dbo.odl_printed(
designation_veh,
placement,
fk_tissu,
designation_tissu,
id_kanban_tissu,
placementB,
placementC,
placementD,
datetime_impression -- <=====================
)
SELECT relation_tissu_placement_veh.designation_veh,
relation_tissu_placement_veh.placement,
relation_tissu_placement_veh.fk_tissu,
relation_tissu_placement_veh.designation_tissu,
placement.id_kanban_tissu,
placement.PlacementB,
placement.PlacementC,
placement.PlacementD,
GETDATE() -- <=====================
FROM relation_tissu_placement_veh
INNER JOIN placement
ON relation_tissu_placement_veh.placement = placement.placement
where designation_veh = @p |
j’ai tapé le code vb suivant pour son exécution :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Dim pr As SqlParameter
Dim r As Integer
Cn.Open()
Dim myCm = New SqlCommand("P4", Cn)
With myCm
.CommandText = "P4"
.CommandType = CommandType.StoredProcedure
pr = New SqlParameter
pr.ParameterName = "@p"
pr.SqlDbType = SqlDbType.VarChar
pr.Direction = ParameterDirection.Input
pr.Value = ComboBox1.Text
End With
r = myCm.ExecuteNonQuery()
If r <> 0 Then
MsgBox("rows affected")
Else MsgBox("no rows affected")
End If
Cn.Close() |
Je n’ai pas réussi à enregistrer les données et par conséquent l’affichage. Je ne sais pas où le problème car le code ne retourne aucun erreur
s'il y a d'autres explications à fournir merci de me poser des questions
Merci d'avance pour votre aide.