Les requêtes sont bien exécutées mais les données ne s'ajoutent pas à la base de

saritanet Messages postés 32 Date d'inscription samedi 2 août 2008 Statut Membre Dernière intervention 5 septembre 2008 - 6 août 2008 à 02:58
saritanet Messages postés 32 Date d'inscription samedi 2 août 2008 Statut Membre Dernière intervention 5 septembre 2008 - 17 août 2008 à 04:16
bonjour, lorsque j'entre les informations et après j clique sur enregistrer, le label  m'affiche que l'enregistrement est passé avec succés alors que ce n'est pas le cas, les données ne s'ajoutent pas à ma base de donnée, Veuillez m'aider à savoir ou est le probleme, voici le code source:
Imports

System.Data

Imports System.Data.SqlClient

Partial
Class _ajouter
   
Inherits System.Web.UI.Page

Public maConnexionSQLsrv
As
New SqlConnection

Dim myCommand
As
New SqlCommand

Dim myCommand1
As
New SqlCommand

Dim myCommand2
As
New SqlCommand

Dim myCommand3
As
New SqlCommand

Dim maRequete, maRequete1, maRequete2, maRequete3, ConnexionSQL
As
String
Protected
Sub Page_Load(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles
Me.Load
maConnexionSQLsrv.ConnectionString =
"data source=localhost;initial catalog='gest_reunion';integrated security=true"
Me.TextBox2.Text =
""
Me.Label1.Text =
" "
End
Sub

Protected
Sub Enregistrer_Click(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles Enregistrer.Click
maRequete1 =
" select code_resp from resp_atelier where nom= @nom"
myCommand1 =
New SqlCommand(maRequete1, maConnexionSQLsrv)

With myCommand1.Parameters
         .Add(
New SqlParameter(
"@nom", SqlDbType.Char, 50))

End
With
With myCommand1
         .Parameters(
"@nom").Value =
Me.DropDownList3.Text

End
With
Try
myCommand1.Connection.Open()
myCommand1.ExecuteNonQuery()
myCommand1.Connection.Close()

Catch ex
As Exception

Me.Label1.Text =
"prb ds le selection du code d responsable"
End
Try

maRequete2 =
" select code_atelier from atelier where nom_atelier= @atelier"
myCommand2 =
New SqlCommand(maRequete2, maConnexionSQLsrv)

With myCommand2.Parameters
         .Add(
New SqlParameter(
"@atelier", SqlDbType.Char, 100))

End
With
With myCommand2
         .Parameters(
"@atelier").Value =
Me.DropDownList4.Text

End
With
Try
myCommand2.Connection.Open()
myCommand2.ExecuteNonQuery()
myCommand2.Connection.Close()

Catch ex
As Exception

Me.Label1.Text =
"prb ds le selection du code d atelier"
End
Try

maRequete3 =
" select code_site from site where site= @site"
myCommand3 =
New SqlCommand(maRequete3, maConnexionSQLsrv)

With myCommand3.Parameters
            .Add(
New SqlParameter(
"@site", SqlDbType.Char, 100))

End
With
With myCommand3
            .Parameters(
"@site").Value =
Me.DropDownList2.Text

End
With
Try
myCommand3.Connection.Open()
myCommand3.ExecuteNonQuery()
myCommand3.Connection.Close()

Catch ex
As Exception

Me.Label1.Text =
"prb ds le selection du code d site"
End
Try
maRequete =
" insert into [action] ([design_action], [date], [code_resp], [code_atelier], [code_site]) Values (@design_act, @datee, @code_resp, @code_atelier, @code_site)"
myCommand =
New SqlCommand(maRequete, maConnexionSQLsrv)

With myCommand.Parameters
            .Add(
New SqlParameter(
"@design_act", SqlDbType.Char, 100))
            .Add(
New SqlParameter(
"@datee", SqlDbType.DateTime, 8))
            .Add(
New SqlParameter(
"@code_resp", SqlDbType.BigInt, 8))
            .Add(
New SqlParameter(
"@code_atelier", SqlDbType.BigInt, 8))
            .Add(
New SqlParameter(
"@code_site", SqlDbType.Char, 100))

End
With
With myCommand
            .Parameters(
"@design_act").Value =
Me.TextBox2.Text
            .Parameters(
"@datee").Value =
Me.Calendar1.SelectedDate.ToString
            .Parameters(
"@code_resp").Value =
Me.myCommand1
            .Parameters(
"@code_atelier").Value =
Me.myCommand2
            .Parameters(
"@code_site").Value =
Me.myCommand3

End
With  
Try
Catch ex
As Exception

Me.Label1.Text =
"Ce rapport n'est pas enregistré"
Exit
Sub
End
Try

Me.Label1.Text =
"l'enregistrement est passé avec sucées"
End
SubEnd

Class
                                                                                Merci d'avance pour votre aide

7 réponses

ofonadroite Messages postés 130 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 13 août 2008 2
6 août 2008 à 11:26
Salut,

Si je lit bien ton code on dirait que de toute manière, qu'il y est une erreur ou non, tu affiche toujours ton text de succes à la fin, tu devrai peut être mettre la dernière ligne à un autre endroit. As-tu essayee de mettre des breakpoints pour vérifier ton code ligne après ligne ?
@Pluche

<hr />
Si une réponse vous convient n'oubliez pas le réponse acceptée !!!
Ca aidera beaucoup d'autres personnes
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
6 août 2008 à 11:30
Bonjour,

regarde avec sql profiler, c'est la seule facon de s'assurer de ce qui transite ou pas, si tes requetes sont bien executés alros peut etre qu'il y a une transaction que tu commite pas (j'ai pas lu le code)

<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
0
saritanet Messages postés 32 Date d'inscription samedi 2 août 2008 Statut Membre Dernière intervention 5 septembre 2008
6 août 2008 à 15:21
je suis encore débutante, donc pouvez vous m'expliquer ce sont quoi des breakpoints ou sql profiler et comment les utiliser?Peut être, tu as raison ofonadroite, dans tous les cas j'affiche un message de succés mais ça n'empêche pas que même lorsque je l'efface, il ne m'affiche aucun message d'erreur que j'ai codé dans les exceptions des requêtes sql  

                                                                                     [mailto:S@R S@R]@
0
saritanet Messages postés 32 Date d'inscription samedi 2 août 2008 Statut Membre Dernière intervention 5 septembre 2008
6 août 2008 à 16:30
Salut jesusonline, j'ai essayé avec sql profiler, et il m'a montré que la dernière instruction ne s'exécute pas, j sais pas ou réside le problème, est ce que c'est dû que j'ai mi
 :
                     .Parameters("@code_resp").Value = Me.myCommand1
ou bien parce que: 
                .Parameters("@datee").Value = Me.Calendar1.SelectedDate.ToString
Est ce que j'ai le droit de faire ça, sion comment j pourrai les modifier pour que ça marche.
                                                                         Merci d'avance pour votre aide
  
                                                                        [mailto:S@R S@R]@
0

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

Posez votre question
saritanet Messages postés 32 Date d'inscription samedi 2 août 2008 Statut Membre Dernière intervention 5 septembre 2008
7 août 2008 à 11:05
SVP, pouvez vous m'aidez, je me suis bloquée dans l'avancement de mon application, merci d'avance

[mailto:S@R S@R]@
0
ofonadroite Messages postés 130 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 13 août 2008 2
7 août 2008 à 11:54
Salut,

N'oublie pas que les gens sur ce forum sont là pour t'aider mais que s'ils ne répondent pas immédiatement c'est qu'ils sont occupés !
Bon, pour ton affaire, pour ton @code_resp tu ne peux pas mettre un SqlCommand (myCommand1) comme valeur, il faut que tu stocke auparavant cette valeur dans une variable au moment ou tu execute ta requête, avec un DbDataReader (je ne connait pas la syntaxe en VB.net mais cherche un peu sur Google c'est pas compliqué). et pour @datee enleve le ToString à la fin car c'est un format DateTime.
@Pluche

<hr />
Si une réponse vous convient n'oubliez pas le réponse acceptée !!!
Ca aidera beaucoup d'autres personnes
0
saritanet Messages postés 32 Date d'inscription samedi 2 août 2008 Statut Membre Dernière intervention 5 septembre 2008
17 août 2008 à 04:16
ok, je suis vraiment désolé d'avoir insister.
 En ce qui concerne @datee, jai fait
Me.Calendar1.SelectedDate.ToShortDateString , 
car dans ma base de donnée, j'ai la date de longueur 8, et ça a bien marché lorsque j'essaie de l'insérer tout seul. 
D'autre coté, en ce qui concerne @code_resp, j'ai cherché partout la syntaxe de DbDataReader en vb.net, et je n'ai trouvé que je peux le faire comme suit:  
Dim oReader1
As SqlDataReader = myCommand1.ExecuteReader()

et après dans les paramètres de la commande d'insertion j'ai fait:
.Parameters(
"@code_resp").Value = oReader1
Mais ça n'a pas marché.

    Pouvez vous m'aider? Merci d'avance 

[mailto:S@R S@R]@
0
Rejoignez-nous