begin process at 2010 03 18 03:08:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Base de données

 > 

SQL Server

 > 

ExecuteNonQuery : la propriété CommandText n'a pas été initialisée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ExecuteNonQuery : la propriété CommandText n'a pas été initialisée

jeudi 12 octobre 2006 à 13:15:29 | ExecuteNonQuery : la propriété CommandText n'a pas été initialisée

prasbanu

Bonjour !
J'ai une une erreur de ce type:

ExecuteNonQuery : la propriété CommandText n'a pas été initialisée
Ligne 146 :
Ligne 147 :            cmdInsert.ExecuteNonQuery()
Ligne 148 :
Ligne 149 :        Next
Lorsque j'exécute le code suivant:

    Sub BtnValide_Click(ByVal sender As System.Object, ByVal e As       System.EventArgs) Handles BtnValide.Click

       
Dim conn As SqlConnection = New SqlConnection

 

conn.ConnectionString = "Server=INSRVSN2\GESTION ;Initial Catalog=Dev_GI2;uid=dev_gi2;password=dev_gi2"

               

 Dim cmdInsert AsNew SqlCommand

       conn.Open()

       Dim sqlInsert AsString

       Dim iCount AsInteger

       Dim strItem AsString

 

 

        For iCount = 0 To (ListBox3.Items.Count - 1)

            If ListBox3.Items.Item(iCount).Selected Then

                sqlInsert = " INSERT INTO GI_LISTEAPPLI2 (GILI_ID,GILI_APPLICATION)"

                sqlInsert += " VALUES ('" + ListBox3.Items(iCount).Value + "')"

            EndIf

            cmdInsert.CommandText = sqlInsert

 

            cmdInsert.Connection = conn

 

            cmdInsert.ExecuteNonQuery()

 

        Next

       conn.Close()

 

    EndSub

Pourriez vous m'aider???
Merci d'avance

jeudi 12 octobre 2006 à 13:30:07 | Re : ExecuteNonQuery : la propriété CommandText n'a pas été initialisée

romagny13

Ollaaaa loll
faut pas faire comme ca


1 dans un premier temps tu n'as qu'a recuperer chaque element de ta lisbox (euu une listbox ??? admettons)
et tu crees un parametre pour chaque element (mm ajouter un test pour voir si tu as au moins 1 element)
du style :

Dim p1 As SqlParameter

p1 =

New SqlParameter("@p1", SqlDbType.Char, 200)

p1.Value ="valeur"


2 ensuite tu ajoutes tes parametres a la command
cmdInsert.Parameters.Add(p1)

3 et tu tapes ta requete du style
INSERT INTO table1 (colonne1,colonne2) values (@p1,@p2)

par contre comme cest une requete insert tu dois savoir le nb elements deja que tu auras a ajouter et je te deconseille l'utilisation d'une listbox,prend plutot des textbox en plus tu pourraus beaucoup plus facielement recuperer les valeurs et les tester (avec en plus un errorprovider par ex)

+
jeudi 12 octobre 2006 à 13:33:42 | Re : ExecuteNonQuery : la propriété CommandText n'a pas été initialisée

romagny13

oOps non pas un errorprovider cest de l asp.net
mais avec les controls de validation > RequiredFieldValidator,RangeValidator,...
jeudi 12 octobre 2006 à 22:57:45 | Re : ExecuteNonQuery : la propriété CommandText n'a pas été initialisée

Nurgle

Membre Club Administrateur CodeS-SourceS
Salut,

En complément de ce que dis romagny13, jette un coup d'oeil à ce tuto sur les SqlParameters : [ Lien ]


Bonne soirée


Nurgle(Antoine)
vendredi 13 octobre 2006 à 10:23:00 | Re : ExecuteNonQuery : la propriété CommandText n'a pas été initialisée

Yopyop

re, essayes

Sub BtnValide_Click(ByVal sender As System.Object, ByVal e As       System.EventArgs) Handles BtnValide.Click    
Dim conn As SqlConnection = New SqlConnection
conn.ConnectionString = "Server=INSRVSN2\GESTION ;Initial Catalog=Dev_GI2;uid=dev_gi2;password=dev_gi2"
Dim cmdInsert AsNew SqlCommand

Dim sqlInsert AsString
Dim iCount AsInteger
Dim strItem AsString

conn.Open()
cmdInsert.Connection = conn

For iCount = 0 To (ListBox3.Items.Count - 1)

If ListBox3.Items.Item(iCount).Selected Then
sqlInsert = " INSERT INTO GI_LISTEAPPLI2 (GILI_ID,GILI_APPLICATION)"
sqlInsert += " VALUES ('" + ListBox3.Items(iCount).Value + "')"

cmdInsert.CommandText = sqlInsert
cmdInsert.ExecuteNonQuery()

EndIf


Next
conn.Close()

par contre il manque une valeur dans ton insert:
GILI_ID,GILI_APPLICATION
et tu insères uniquement une valeur : VALUES ('" + ListBox3.Items(iCount).Value + "')
si ton gili_id est l'identity, tu peux l'enlever.

et laisse tomber l'idée de romagny13 concernant la textbox... je ne pense pas que cela corresponde à ce que tu veux faire.
yopyop

vendredi 13 octobre 2006 à 11:21:41 | Re : ExecuteNonQuery : la propriété CommandText n'a pas été initialisée

prasbanu

Bonjour YopYop!!
Merci pour ta réponse,ça fonctionne sans erreur quand j'enlève GILI_ID et quand je mets GILI_ID en identity, mais mon problème n'est pas résolu..
Si tu veux sur ma Table listeapplication, j'ai 2 propriétés, c'est à dire les clés étrangères de 2 autres tables (Incident et application)!
Et sur mon interface,j'ai 2 listebox, dans l'un j'ai toutes les applications de la table application et dans l'autre on devrait choisir à l'aide d'une flèche,les applications pour un seul incident (un incident peur avoir plusieurs application)...Je ne sais pas si je m'exprime bien, en tout cas c'est ça mon problème...
Je sais que dans mon code il manque un logique mais je n'arrive pas trouver l'erreur...

Merci!
vendredi 13 octobre 2006 à 12:48:09 | Re : ExecuteNonQuery : la propriété CommandText n'a pas été initialisée

Yopyop

oki,

donc 3 tables, listeapplication, incident et application.
listeapplication (GILI_APPLICATION, qui contient uniquement des FK sur incident et application) est une associative entre incident et application.

ca, ca m'a l'air ok, mais je ne comprends pas trop les listbox...

Tu selectionnes une application (dans une des listbox), mais l'autre ?
Qu'est ce que tu essaies de faire exactement ?

Explique un peu mieux stp (genre : je selectionne une application (1 seule), ensuite, je selectionne les incidents possibles (+sieurs possibles), ensuite je clicke sur Save et j'enregistre les incidents associés à cette application)

yopyop
vendredi 13 octobre 2006 à 13:40:56 | Re : ExecuteNonQuery : la propriété CommandText n'a pas été initialisée

prasbanu

bah au fait,
dans un listbox j'affiche toutes les applications possible et dans l'autre listbox je bascule avec une flèche les application que je ve pour un incident donné...et je clique sur save, il faut que j'ai dans la base,par ex
incident 1 > application 1, 2 ,3 et dans liste application j'ai 3 ligne
1 >1
1>2
1>3
Mon pb je ne sais pas comment je pourrais faire pour icident dans la requete...J'espère que tu as compris mon soucis..
Au fait c'est un incident qui peur avoir plusieurs applications..C'est pour ça j'ai mis les applications dans un listbox pour pouvoir les choisir....
Merci pour ton aide!
vendredi 13 octobre 2006 à 14:18:29 | Re : ExecuteNonQuery : la propriété CommandText n'a pas été initialisée

Yopyop

re,

dans ton insert, il te faut les ids des applications selectionnées et l'id de l'incident sélectionné.

ta table listeapplication doit avoir 2 coloones qui sont 2 clés étrangères.
1 avec l'id de l'application  et 1 avec l'id de l'incident

ensuite dans ton insert (utilise le code que j'ai posté et modifie juste le SQL.. et utilise les bons noms des tables/colonnes, je les ai changé en qqch de plus explicite)

sqlInsert = " INSERT INTO APPL_INCIDENTS (INCIDENT_ID,APPLICATION_ID)"
sqlInsert += " VALUES ('" + incidentID + "','" + ListBox3.Items(iCount).Value + "')"

si ton incident estdans une listbox, ca devrait donner qqch comme:
sqlInsert = " INSERT INTO APPL_INCIDENTS (INCIDENT_ID,APPLICATION_ID)"
sqlInsert += " VALUES ('" + lstBoxIncident.SelectedValue + "','" + ListBox3.Items(iCount).Value + "')"

yopyop

ps:
si tes ids sont de type numérique (c'est mieux, les requêtes sont plus rapides), tu peux enlever les ' lors de l'insert:
sqlInsert = " INSERT INTO APPL_INCIDENTS (INCIDENT_ID,APPLICATION_ID) "
sqlInsert += " VALUES (" + lstBoxIncident.SelectedValue + "," + ListBox3.Items(iCount).Value + ")"
lundi 16 octobre 2006 à 10:42:07 | Re : ExecuteNonQuery : la propriété CommandText n'a pas été initialisée

prasbanu

Bonjour YOPYOP! Merci pour ta réponse précedente!!   J'avais modifié mon code,j'ai quand meme des petites erreurs!
Premièrement j'ai une erreur sur GILI_ID car il n'est pas déclaré,j'ai essayé avec cette erreur..ça fonctionne mais le GILI_ID ne change pas,j'ai toujours le même identifiant dans la colonne GILI_ID.


Sub
BtnValide_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnValide.Click

Dim conn As SqlConnection = New SqlConnection

conn.ConnectionString = "Server=INSRVSN2\GESTION ;Initial Catalog=Dev_GI2;uid=dev_gi2;password=dev_gi2"

Dim cmdInsert As New SqlCommand

Dim sqlInsert As String

Dim iCount As Integer

Dim strItem As String

conn.Open()

cmdInsert.Connection = conn

For iCount = 0 To (ListBox3.Items.Count - 1)

If ListBox3.Items.Item(iCount).Selected Then

sqlInsert = " INSERT INTO GI_LISTEAPPLI3 (GILI_ID,GILI_APPLICATION)"

sqlInsert += " VALUES (" + GILI_ID + "," + ListBox3.Items(iCount).Value + ")"

 

cmdInsert.CommandText = sqlInsert

cmdInsert.ExecuteNonQuery()

End If

 

Next

conn.Close()

End Sub

Voilà je n'arrive toujours pas régler mon pb!Dsl!!!
Merci d'avance!

1 2

Cette discussion est classée dans : conn, sqlinsert, executenonquery, cmdinsert, commandtext


Répondre à ce message

Sujets en rapport avec ce message

Problème avec "ExecuteNonQuery" [ par Netlink ] Bonjour,J'ai un problème pour insérer des données dans ma base Access... Voici mon code :Sub doInsert(Source As Object, E As EventArgs) Dim sSQL as st Microsoft OLE DB Provider for ODBC Drivers error '80004005' [ par oriviera ] IAORANA[font=Lucida Voilà 15 jours que je galère, j'ai essayé des tas de scripts proposés sur le net mais rien ne marche voilà mon code pourtant simpl pb d'update [ par luck_y6 ] Bonjour, pour faire court voici mon code :If IsObject(Session("Client_conn")) Then Set conn = Session("Client_conn")Else ' Path long de la base de [ASP.NET]Connexion a Access !!! [ par ricopetitdejeuner ] Bonsoir,Je suis en train de devenir fou! Ca fait 2 jours que je cherche seulement a me connecter a une bdd Access. J'ai essayer 5 methodes differentes urgent:les transactions en asp [ par abari ] slt tt le monde voila le code dans ma page asp:Set conn= Server.CreateObject("ADODB.Connection") conn.Open "driver={SQL Server}; .......conn.BeginTran asp:probléme dans les transactions(Aucune transaction n'est active) [ par abari ] voila mon code de transaction:Set conn= Server.CreateObject("ADODB.Connection") conn.Open "driver={SQL Server}; ...................conn.beginTransSQLC asp:transaction(aucune transaction n'est active????) [ par abari ] voila mon code de transaction:Set conn= Server.CreateObject("ADODB.Connection") conn.Open "driver={SQL Server}; ...................conn.beginTransSQLC pour la néme fois svp svp j'ai un prb "transactions en asp" [ par abari ] voila mon code de transaction:Set conn= Server.CreateObject("ADODB.Connection") conn.Open "driver={SQL Server}; ...................conn.beginTransSQLC Base de données [ par malhivertman1 ] Je suis sous Visual J++ et je dois réaliser une sorte de logiciel ki me demande de suavegarder certaine donnés dans une base de données pour que l'uti PROBLEME de connexion a ma base [ par malhivertman1 ] Voici mon code pour me conecter a ma base, (il ne march pas)' connexion Set conn = server.CreateObject ("ADODB.Connection") conn.Open "Provider=Micros


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,775 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales