j'avais mis aussi "idbdataparameter" mais à ce moment c le "name" en dessous qui n'est plus correcte, a la place j ai mis "dbtype" puis il y a une autre erreur et elle se trouve juste après et un "=" le "dbtype" n'est pas déclare.
j'avais mis aussi "idbdataparameter" mais à ce moment c le "name" en dessous qui n'est plus correcte, a la place j ai mis "dbtype" puis il y a une autre erreur et elle se trouve juste après et un "=" le "dbtype" n'est pas déclare.
à cet endroit là j'ai mis "dbtype.string" je ne sais pas ce que ça va donner
Je crois que ce n'est pas Name mais ParameterName. Décidément, je cumule les erreurs...
ce n'est pas grave tu es déjà bien gentil à m'aider comme tu le fais je t'en remercie d'ailleurs.
J 'ai encore une petite question dans la ligne
paramAdresse.DbType = DbTypes.VarChar
Le "VarChar" n'est pas reconnu je dois mettre quoi à la place?
Ça a fonctionné correctement pour la première requete c bien gentil merci mais pour la 2 requete mon "INSERT" je dois faire pareil?
Ou il y a une autre méthode?
Tu peux mettre DbType.String pour une chaîne de caractères. Regarde bien l'énumération DbType.
Fais pareil pour la deuxième requête. Tu peux améliorer (à mon sens) en déplaçant ton code Sql vers une procédure stockée...
Ça a fonctionné correctement pour la première requete c bien gentil merci mais pour la 2 requete mon "INSERT" je dois faire pareil?
Ou il y a une autre méthode?
En fait tu peux le faire différemment selon le provider.
Voici un exemple avec le classique OLEDB, plus générique :
Comme ça tu as du Varchar, de l'integer, de la date
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 'Construction de la requête qui va chercher les données en base Dim sql As Text.StringBuilder = New Text.StringBuilder("") sql.Append("INSERT INTO Reappro (id_distrib , id_catalogue_article, libelle, date_debut, date_fin, id_liste_ordonnee) ") sql.Append("VALUES (?, ?, ?, ?, ?, ?)") 'Connexion à la BDD Dim strConnexion As String = connectionString Dim oConnexion As New System.Data.OleDb.OleDbConnection(strConnexion) Dim openConnectionError As Boolean = False Try oConnexion.Open() Catch ex As Exception msInsert = "-2" openConnectionError = True End Try 'Si l'ouverture de la connexion s'est bien passée on exécute la requête If Not openConnectionError Then msInsert = "-1" Dim oCommand As New System.Data.OleDb.OleDbCommand(sql.ToString) oCommand.Parameters.Add("@id_distrib", OleDb.OleDbType.Integer) oCommand.Parameters.Item("@id_distrib").Value = idDistrib oCommand.Parameters.Add("@id_catalogue_article", OleDb.OleDbType.Integer) oCommand.Parameters.Item("@id_catalogue_article").Value = idCatalogueArticle oCommand.Parameters.Add("@libelle", OleDb.OleDbType.VarChar) oCommand.Parameters.Item("@libelle").Value = Replace(libelle, "'", "''") oCommand.Parameters.Add("@date_debut", OleDb.OleDbType.Date) oCommand.Parameters.Item("@date_debut").Value = CType(dateDebut, Date) oCommand.Parameters.Add("@date_fin", OleDb.OleDbType.Date) oCommand.Parameters.Item("@date_fin").Value = CType(dateFin, Date) oCommand.Parameters.Add("@id_liste_ordonnee", OleDb.OleDbType.Integer) oCommand.Parameters.Item("@id_liste_ordonnee").Value = CInt(idListeOrdonnee) oCommand.Connection = oConnexion Try msInsert = 1 oCommand.ExecuteNonQuery() Catch ex As Exception msInsert = "-1" Finally oConnexion.Close() oConnexion.Dispose() End Try Else msInsert = "-2" End If 'Fin si connection OK
Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)
L'homme est plus fort que la machine... ne renoncez jamais
J'ai pas mal de choses qui sont pas reconnue la dedans :s tu pourrais me diriger avec mon code qui est plus haut?
merci
Si connectionString et msInsert ne sont pas reconnu c'est normal
- msInsert : le code de retour, si tu veux en gérer un
- connectionString : ta chaîne de connexion
Y-a-t-il autre chose?
Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)
L'homme est plus fort que la machine... ne renoncez jamais
Non il y avait que le "msinsert" qui me pose vraiment problème, voila j'ai remplacé ce que je devais remplacer mais j'ai toujours des petits problèmes ils se trouvent dans la 2 eme partie du code mes (description,latitude,longitude...) qui ne sont pas reconnu.
Merci de ton aide
'Construction de la requête qui va chercher les données en base
Dim sql As System.Text.StringBuilder = New System.Text.StringBuilder("")
sql.Append("INSERT INTO GoogleMap (Adresse ,Description , Latitude, Longitude) ")
sql.Append("VALUES (?, ?, ?, ?, ?, ?)")
'Connexion à la BDD
Dim strConnexion As String = "Data Source=BILOU;Initial Catalog=ANSDNN;Integrated Security=True"
Dim oConnexion As New System.Data.OleDb.OleDbConnection(strConnexion)
Dim openConnectionError As Boolean = False
Try
oConnexion.Open()
Catch ex As Exception
'msInsert = "-2"
openConnectionError = True
End Try
'Si l'ouverture de la connexion s'est bien passée on exécute la requête
If Not openConnectionError Then
'msInsert = "-1"
Dim oCommand As New System.Data.OleDb.OleDbCommand(sql.ToString)
oCommand.Parameters.Add("@Adresse", OleDb.OleDbType.VarChar)
oCommand.Parameters.Item("@Adresse").Value = Adresse
oCommand.Parameters.Add("@Descrption", OleDb.OleDbType.VarChar)
oCommand.Parameters.Item("@Descritpion").Value = Description
oCommand.Parameters.Add("@Latitude", OleDb.OleDbType.Numeric)
oCommand.Parameters.Item("@Latitude").Value = Latitude
oCommand.Parameters.Add("@Longitude", OleDb.OleDbType.Numeric)
oCommand.Parameters.Item("@Longitude").Value = Longitude
oCommand.Connection = oConnexion
Try
'msInsert = 1
oCommand.ExecuteNonQuery()
Catch ex As Exception
'msInsert = "-1"
Finally
oConnexion.Close()
oConnexion.Dispose()
End Try
Else
'msInsert = "-2"
End If 'Fin si connection OK
Déjà là ça va pas :
Tu as 4 variables et 6 points d'intérogations... ça va planter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim sql As System.Text.StringBuilder = New System.Text.StringBuilder("") sql.Append("INSERT INTO GoogleMap (Adresse ,Description , Latitude, Longitude) ") sql.Append("VALUES (?, ?, ?, ?, ?, ?)")
4 variables à insérer = 4 ?
Essayes comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim sql As System.Text.StringBuilder = New System.Text.StringBuilder("") sql.Append("INSERT INTO GoogleMap (Adresse ,Description , Latitude, Longitude) ") sql.Append("VALUES (?, ?, ?, ?)")
Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)
L'homme est plus fort que la machine... ne renoncez jamais
Aussi, penses à la balise CODE... c'est plus lisible
Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)
L'homme est plus fort que la machine... ne renoncez jamais
Tiens je viens de voir autre chose :
Il manque le provider dans ta chîne de connexion. Avec OLEDB il faut spécifier le provider comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim strConnexion As String = "Data Source=BILOU;Initial Catalog=ANSDNN;Integrated Security=True" Dim oConnexion As New System.Data.OleDb.OleDbConnection(strConnexion)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim strConnexion As String = "Provider=SQLOLEDB;Data Source=BILOU;Initial Catalog=ANSDNN;Integrated Security=True" Dim oConnexion As New System.Data.OleDb.OleDbConnection(strConnexion)
Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)
L'homme est plus fort que la machine... ne renoncez jamais
merci, mais il me dit que mes données ne sont pas déclarées?
Celles qui se trouve à la fin du code si tu sais m'aider pour ça aussi.
merci
Que veux-tu dire par "mes données ne sont pas déclarées" ?
Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)
L'homme est plus fort que la machine... ne renoncez jamais
Mes données "adresse","description","latitude","longitude", sont soulignée et il me dit qu'elles ne sont pas déclarées.
Dim oCommand As New System.Data.OleDb.OleDbCommand(sql.ToString)
oCommand.Parameters.Add("@Adresse", OleDb.OleDbType.VarChar)
oCommand.Parameters.Item("@Adresse").Value = Adresse
oCommand.Parameters.Add("@Descrption", OleDb.OleDbType.VarChar)
oCommand.Parameters.Item("@Descritpion").Value = Description
oCommand.Parameters.Add("@Latitude", OleDb.OleDbType.Numeric)
oCommand.Parameters.Item("@Latitude").Value = Latitude
oCommand.Parameters.Add("@Longitude", OleDb.OleDbType.Numeric)
oCommand.Parameters.Item("@Longitude").Value = Longitude
Merci de ton aide
ça y est je viens de comprendre...
Tu dois parler des mots en gras. En fait il faut que tu déclares tes variables avant de les utiliser...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Dim oCommand As New System.Data.OleDb.OleDbCommand(sql.ToString) oCommand.Parameters.Add("@Adresse", OleDb.OleDbType.VarChar) oCommand.Parameters.Item("@Adresse").Value = Adresse oCommand.Parameters.Add("@Descrption", OleDb.OleDbType.VarChar) oCommand.Parameters.Item("@Descritpion").Value = Description oCommand.Parameters.Add("@Latitude", OleDb.OleDbType.Numeric) oCommand.Parameters.Item("@Latitude").Value = Latitude oCommand.Parameters.Add("@Longitude", OleDb.OleDbType.Numeric) oCommand.Parameters.Item("@Longitude").Value = Longitude
Et puis ensuite tu leur affecte les valeurs que tu veux...
Quel langage as-tu pratiqué avant?
Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)
L'homme est plus fort que la machine... ne renoncez jamais
Du C mais dans le VB je suis débutant.
Je vais essayé comme ça merci
Cela ne se met pas dans ma base de donnée sql ...
Si je te donne mon code tu serais regarder?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager