Insert Into

[Résolu]
Signaler
Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006
-
Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006
-
Bonjour a tous,

J'ai un problème depuis trois jours que je n'arrive pas à résoudre.

Lors d'une requete Insert Into j'ai toujour un message d'erreur
"Détails de l'exception: System.Data.OleDb.OleDbException: L'opération doit utiliser une requête qui peut être mise à jour"



Ligne 87 :
Ligne 88 : myCommand.Connection.Open()
Ligne 89 : myCommand.ExecuteNonQuery()
Ligne 90 : myCommand.Connection.Close()
Ligne 91 : End Sub





Voici ma source.








Sub Page_Load()
If Not IsPostBack Then
Step1.Font.Bold = True
End If
End Sub
Sub Next_Click(Sender As Object, e As EventArgs)
Select Case Sender.Parent.ID
Case "Page1"
Page1.Visible = False
Step1.Font.Bold = False
Page2.Visible = True
Step2.Font.Bold = True
CompareValidator1.ErrorMessage = "Les valeurs sont différentes."
CompareValidator1.ControlToCompare = "Pass"
CompareValidator1.ControlToValidate = "Cpass"
Case "Page2"
Page2.Visible = False
Step2.Font.Bold = False
Page3.Visible = True
Step3.Font.Bold = True
RNom.Text &= Nom.text
RPrenom.text &= Prenom.Text
ROrganisation.Text &= Organisation.Text
RAdresse.Text &= Adresse.Text
RVille.Text &= Ville.Text
RCp.Text &= Cp.Text
RPays.Text &= Pays.Text
RMail.Text &= Mail.Text
RWeb.Text &= Web.Text
RLogin.Text &= Login.Text
RPass.Text &= Pass.Text
RCpass.Text &= Cpass.Text
End Select
End Sub
Sub Previous_Click(Sender As Object, e As EventArgs)
Select Case Sender.Parent.ID
Case "Page2"
Page2.Visible = False
Step2.Font.Bold = False
Page1.Visible = True
Step1.Font.Bold = True
Case "Page3"
Page3.Visible = False
Step3.Font.Bold = False
Page2.Visible = True
Step2.Font.Bold = True
End Select
End Sub
Sub Valid_Click(Sender As Object, E As EventArgs)
Dim myCommand As New OleDbCommand
Dim insertCmd As String
Dim myConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Inetpub\wwwroot\madaplan\data\users.mdb;User ID=;Password=;")
insertCmd = "INSERT INTO UserMada(Adresse, Cp, CPass, Login, Mail, Nom, Organisation, Pass, Pays, Prenom, Ville, Web) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"
myCommand = New OleDbCommand(insertCmd, myConnection)
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Adresse", System.Data.OleDb.OleDbType.VarWChar, 100))
myCommand.Parameters("@Adresse").Value = RAdresse.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Cp", System.Data.OleDb.OleDbType.VarWChar, 8))
myCommand.Parameters("@Cp").Value = RCp.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@CPass", System.Data.OleDb.OleDbType.VarWChar, 10))
myCommand.Parameters("@CPass").Value = RCPass.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Login", System.Data.OleDb.OleDbType.VarWChar, 10))
myCommand.Parameters("@Login").Value = RLogin.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Mail", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Mail").Value = RMail.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Nom", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Nom").Value = RNom.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Organisation", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Organisation").Value = ROrganisation.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Pass", System.Data.OleDb.OleDbType.VarWChar, 10))
myCommand.Parameters("@Pass").Value = RPass.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Pays", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Pays").Value = RPays.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Prenom", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Prenom").Value = RPrenom.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Ville", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Ville").Value = RVille.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Web", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Web").Value = RWeb.Text



myCommand.Connection.Open()
myCommand.ExecuteNonQuery()
myCommand.Connection.Close()
End Sub




Document sans titre





















,

,

----

,

,

----

,

,

----

,

,

----

,

,

----

,

,

----

,

,

----



,

,

----

,
,

----

,

,

----

,

,

----

,

,

----



,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----






Merci d'avance de votre aide.

15 réponses

Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006

cela marche en distant mais pas en local sauf si je donne tout les droit au repertoire data.
bon ce qui compte c'est que cela marche en distant
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
mycommand.commandtype = commandtype.stockedprocedure ?

ou un truc dans le genre :D


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006

Merci de ta réponse.
Je suis un peu jeune en asp.net.
Peu tu n'expliquer un peu plus ta solution.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
ici
Dim insertCmd As String
Dim myConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Inetpub\wwwroot\madaplan\data\users.mdb;User ID=;Password=;")
insertCmd = "INSERT INTO UserMada(Adresse, Cp, CPass, Login, Mail, Nom, Organisation, Pass, Pays, Prenom, Ville, Web) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"
myCommand = New OleDbCommand(insertCmd, myConnection)


il faut que tu dises que t'as commande est une procédure stocké donc aprés le mycommand tu fais un mycommand.commandtype = commandType.storedProcedure


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006

Cela ne fonctionne toujours pas.
Toujour le meme erreur

Voici ma modif:
Sub Valid_Click(Sender As Object, E As EventArgs)
Dim myCommand As New OleDbCommand
Dim insertCmd As String
myCommand.commandtype = commandType.storedProcedure
Dim myConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Inetpub\wwwroot\madaplan\data\users.mdb;User ID=;Password=;")
insertCmd = "INSERT INTO UserMada(Adresse, Cp, CPass, Login, Mail, Nom, Organisation, Pass, Pays, Prenom, Ville, Web) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"
myCommand = New OleDbCommand(insertCmd, myConnection)
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Adresse", System.Data.OleDb.OleDbType.VarWChar, 100))
myCommand.Parameters("@Adresse").Value = RAdresse.Text
.......................
Je nage (pas dans le bonheur!!!)
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
euh c'est normal ...

ce que t'as fait n'a servis à rien, t'instancie un objet puis aprés tu le réinstancie donc tu perds ton object d'avant

Dim myConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Inetpub\wwwroot\madaplan\data\users.mdb;User ID=;Password=;")
insertCmd = "INSERT INTO UserMada(Adresse, Cp, CPass, Login, Mail, Nom, Organisation, Pass, Pays, Prenom, Ville, Web) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"
dim myCommand as New OleDbCommand(insertCmd, myConnection)
myCommand.commandtype = commandType.storedProcedure
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Adresse", System.Data.OleDb.OleDbType.VarWChar, 100))
myCommand.Parameters("@Adresse").Value = RAdresse.Text


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006

Toujour pas.
Nouveau message d'erreur
Détails de l'exception: System.Data.OleDb.OleDbException: Nom de requête attendu après EXECUTE.

J'ai fait different test rien n'ai bon
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
deja pourquoi t'as :

insertCmd = "INSERT INTO UserMada(Adresse, Cp, CPass, Login, Mail, Nom, Organisation, Pass, Pays, Prenom, Ville, Web) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"

ca devrait plutot etre

insertCmd = "INSERT INTO UserMada(Adresse, Cp, CPass, Login, Mail, Nom, Organisation, Pass, Pays, Prenom, Ville, Web) VALUES (@Adresse,etc... );"

ensuite si tu me donnes pas la ligne ou ca plante je vais pouvoir t'aider :p


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006

Ligne 88 :
Ligne 89 :       	myCommand.Connection.Open()
Ligne 90 :    		myCommand.ExecuteNonQuery()
Ligne 91 :      	myCommand.Connection.Close()
Ligne 92 :    End Sub

Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006

J'ai aussi fait la modif
insertCmd = "INSERT INTO UserMada(Adresse, Cp, CPass, Login, Mail, Nom, Organisation, Pass, Pays, Prenom, Ville, Web) VALUES (@Adresse,etc... );"

Toujour le message precedent.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
j'espere que t'as pas mis etc... ?????

sinon va voir sur http://www.microsoft.com/france/msdn/donnees/


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006

Pas trouver de solution.

j'ai mis les fichier en ligne voici le message d'erreur

Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".

l'adresse de la page

http://www.madaplan.com/membreoldbis.aspx

la base est en access 2003
Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006

Voici la dernier version de mon code







Sub Page_Load(Src As Object, e As EventArgs)
If Not IsPostBack Then
Step1.Font.Bold = True
End If
End Sub


Sub Next_Click(Sender As Object, e As EventArgs)
Select Case Sender.Parent.ID
Case "Page1"
Page1.Visible = False
Step1.Font.Bold = False
Page2.Visible = True
Step2.Font.Bold = True
CompareValidator1.ErrorMessage = "Les valeurs sont différentes."
CompareValidator1.ControlToCompare = "Pass"
CompareValidator1.ControlToValidate = "Cpass"
Case "Page2"
Page2.Visible = False
Step2.Font.Bold = False
Page3.Visible = True
Step3.Font.Bold = True
RNom.Text &= Nom.text
RPrenom.text &= Prenom.Text
ROrganisation.Text &= Organisation.Text
RAdresse.Text &= Adresse.Text
RVille.Text &= Ville.Text
RCp.Text &= Cp.Text
RPays.Text &= Pays.Text
RMail.Text &= Mail.Text
RWeb.Text &= Web.Text
RLogin.Text &= Login.Text
RPass.Text &= Pass.Text
RCpass.Text &= Cpass.Text
End Select
End Sub

Sub Previous_Click(Sender As Object, e As EventArgs)
Select Case Sender.Parent.ID
Case "Page2"
Page2.Visible = False
Step2.Font.Bold = False
Page1.Visible = True
Step1.Font.Bold = True
Case "Page3"
Page3.Visible = False
Step3.Font.Bold = False
Page2.Visible = True
Step2.Font.Bold = True
End Select
End Sub

Sub Valid_Click(Sender As Object, E As EventArgs)
Dim OleDbCommand = New System.Data.OleDb.OleDbCommand
Dim myConnection = New System.Data.OleDb.OleDbConnection

myConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Inetpub\wwwroot\madaplan\data\users.mdb;User ID=;Password=;")
Dim myCommand As OleDbCommand
Dim insertCmd As String
insertCmd = "INSERT INTO UserMada(Adresse, Cp, CPass, Login, Mail, Nom, Organisation, Pass, Pays, Prenom, Ville, Web) VALUES (@Adresse, @Cp, @CPass, @Login, @Mail, @Nom, @Organisation, @Pass, @Pays, @Prenom, @Ville, @Web);"
myCommand = New OleDbCommand (insertCmd, myConnection)
' myCommand.commandtype = commandType.storedProcedure
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Adresse", System.Data.OleDb.OleDbType.VarWChar, 100))
myCommand.Parameters("@Adresse").Value = RAdresse.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Cp", System.Data.OleDb.OleDbType.VarWChar, 8))
myCommand.Parameters("@Cp").Value = RCp.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@CPass", System.Data.OleDb.OleDbType.VarWChar, 10))
myCommand.Parameters("@CPass").Value = RCPass.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Login", System.Data.OleDb.OleDbType.VarWChar, 10))
myCommand.Parameters("@Login").Value = RLogin.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Mail", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Mail").Value = RMail.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Nom", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Nom").Value = RNom.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Organisation", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Organisation").Value = ROrganisation.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Pass", System.Data.OleDb.OleDbType.VarWChar, 10))
myCommand.Parameters("@Pass").Value = RPass.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Pays", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Pays").Value = RPays.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Prenom", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Prenom").Value = RPrenom.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Ville", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Ville").Value = RVille.Text
myCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Web", System.Data.OleDb.OleDbType.VarWChar, 50))
myCommand.Parameters("@Web").Value = RWeb.Text



myCommand.Connection.Open()
myCommand.ExecuteNonQuery()
myCommand.Connection.Close()
End Sub




Document sans titre





















,

,

----

,

,

----

,

,

----

,

,

----

,

,

----

,

,

----

,

,

----



,

,

----

,
,

----

,

,

----

,

,

----

,

,

----



,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----




Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006

Mon problème est un probleme de securite si je partage en local mon repertoire data avec tous les droits cela marche.


Comment contourner le probleme en distant.
Messages postés
29
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
2 mai 2006

j'ai rajouter c'est lien au web config et je n'ai plus l'erreur
je fait encore des controls pour etre sur