Les requêtes sont bien exécutées mais les données ne s'ajoutent pas à la base de
saritanet
Messages postés32Date d'inscriptionsamedi 2 août 2008StatutMembreDernière intervention 5 septembre 2008
-
6 août 2008 à 02:58
saritanet
Messages postés32Date d'inscriptionsamedi 2 août 2008StatutMembreDerniè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
A voir également:
Les requêtes sont bien exécutées mais les données ne s'ajoutent pas à la base de
ofonadroite
Messages postés130Date d'inscriptionmercredi 25 juin 2008StatutMembreDernière intervention13 août 20082 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
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 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)
saritanet
Messages postés32Date d'inscriptionsamedi 2 août 2008StatutMembreDerniè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
saritanet
Messages postés32Date d'inscriptionsamedi 2 août 2008StatutMembreDerniè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]@
Vous n’avez pas trouvé la réponse que vous recherchez ?
ofonadroite
Messages postés130Date d'inscriptionmercredi 25 juin 2008StatutMembreDernière intervention13 août 20082 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
saritanet
Messages postés32Date d'inscriptionsamedi 2 août 2008StatutMembreDerniè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é.