Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Paramètres Date dans une procédure stockée

4 réponses
Avatar
aitoz
Bonjour,

je voudrais savoir comment faire pour envoyer une date au bon format ??? Et
est-ce que je fais bien d'utiliser ExecuteNonQuery() ???
Voici une partie de mon code.

NUBL_DLLN = DateTimePicker1.Value.ToShortDateString
cmdAjout.Parameters.Add(New SqlClient.SqlParameter("@NUBL_DLLN",
SqlDbType.DateTime, 8))
cmdAjout.Parameters("@NUBL_DLLN").Value = NUBL_DLLN

cmdAjout.Parameters.Add(New SqlClient.SqlParameter("@NUBL_COCI",
SqlDbType.VarChar, 30))
cmdAjout.Parameters("@NUBL_COCI").Value = NUBL_COCI

With cmdAjout
.Connection = SqlConnection1
.CommandType = CommandType.StoredProcedure
.CommandText = "sp_sgsa_ajoutmanuel"
NbLgnAjout = .ExecuteNonQuery()
End With

4 réponses

Avatar
aitoz
Franchement j'y arrive pas !

J'ai testé ma procédure stockée avec l'invite de commande.
exec sp_sgsa_ajoutmanuel param1, param2, param3 etc....

je saisi les dates sous ce format suivant : '06-09-2005'
Le mieux c'est de bidouiller pour avoir un format string que je remets au
format ??? ou je peux utiliser un format type DateTime ???

Si quelqu'un à deja envoyé un paramètre DateTime en SQLServer je veux bien
savoir sous quelle forme ???

Merci et bonne soirée ! je continu a chercher
Avatar
Christophe QUEVAL
YYYYMMDD non ?

Christophe
"aitoz" a écrit dans le message de news:

Franchement j'y arrive pas !

J'ai testé ma procédure stockée avec l'invite de commande.
exec sp_sgsa_ajoutmanuel param1, param2, param3 etc....

je saisi les dates sous ce format suivant : '06-09-2005'
Le mieux c'est de bidouiller pour avoir un format string que je remets au
format ??? ou je peux utiliser un format type DateTime ???

Si quelqu'un à deja envoyé un paramètre DateTime en SQLServer je veux bien
savoir sous quelle forme ???

Merci et bonne soirée ! je continu a chercher



Avatar
Millox Frédéric
Salut aitoz,

Voilà un bout de code de mon application qui marche :

' Init pour l'insert dans la table Parutions.
cn = New SqlCommand
cn.Connection = connectionSQL
cn.CommandType = CommandType.StoredProcedure
cn.CommandText = "InsertParutions"

Dim p As SqlParameter
p = cn.CreateParameter
p.Direction = ParameterDirection.Output
p.ParameterName = "@ReturnId"
p.SqlDbType = SqlDbType.Int
cn.Parameters.Add(p)

rowTemp = dsPage1.Tables("Parutions").Rows(0)
cn.Parameters.Add("@IdSources", SqlDbType.Int).Value =
rowTemp.Item("IdSources")
cn.Parameters.Add("@DateParution", SqlDbType.DateTime).Value =
rowTemp.Item("DateParution")
cn.Parameters.Add("@DateOptionnelle", SqlDbType.VarChar).Value =
rowTemp.Item("DateOptionnelle")
cn.Parameters.Add("@Priorite", SqlDbType.Int).Value = rowTemp.Item("Priorite")

If connectionSQL.State = ConnectionState.Open Then cn.ExecuteNonQuery()


rowTemp.Item("DateParution") contient un objet de type DateTime.

La procédure stockée InsertParutions correspondante :

ALTER PROCEDURE dbo.InsertParutions
@IdSources int,
@DateParution datetime,
@DateOptionnelle varchar(100),
@Priorite int,
@ReturnId int output
AS
INSERT INTO Parutions
(IdSources, DateParution, DateOptionnelle, Priorite)
VALUES
(@IdSources, @DateParution, @DateOptionnelle, @Priorite)

SET @ReturnId = (SELECT @@Identity)
RETURN

N'hésite pas si ca ne marche toujours pas.

a+

--
fmillox


"aitoz" a écrit :

Bonjour,

je voudrais savoir comment faire pour envoyer une date au bon format ??? Et
est-ce que je fais bien d'utiliser ExecuteNonQuery() ???
Voici une partie de mon code.

NUBL_DLLN = DateTimePicker1.Value.ToShortDateString
cmdAjout.Parameters.Add(New SqlClient.SqlParameter("@NUBL_DLLN",
SqlDbType.DateTime, 8))
cmdAjout.Parameters("@NUBL_DLLN").Value = NUBL_DLLN

cmdAjout.Parameters.Add(New SqlClient.SqlParameter("@NUBL_COCI",
SqlDbType.VarChar, 30))
cmdAjout.Parameters("@NUBL_COCI").Value = NUBL_COCI

With cmdAjout
..Connection = SqlConnection1
..CommandType = CommandType.StoredProcedure
..CommandText = "sp_sgsa_ajoutmanuel"
NbLgnAjout = .ExecuteNonQuery()
End With





Avatar
aitoz
Merci pour toute votre aide. Mais j'ai enfin trouvé pourquoi ca ne marchait
pas

bon, il semble que mon programme soit bon ! le probleme vient de ma
procédure stockée.
Je déclarais les VARCHAR en VARCHAR mais sans indiquer la valeur !
Au lieu de faire : @NumCLient VARCHAR(30) je faisais @NumCLient VARCHAR.
Et du coup a cause des intégrités référentielles ca ne voulait pas ajouter
de ligne !

voila merci beaucoup a tous et bonne journée.

Ps : je vais regarder ton code frédéric, merci !