begin process at 2012 02 14 16:05:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Gestion recordset ... deux problèmes en un!


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

Gestion recordset ... deux problèmes en un!

mercredi 22 février 2006 à 15:07:18 | Gestion recordset ... deux problèmes en un!

Poolky

Bonjour à tous,
Mon problème, qui viens certaiement d'un manque de culture VB, est le suivant:
J'execute une requete Update via un recordset sur une table de ma base selon la syntaxe suivante :

Rec.Open "UPDATE Fournisseur SET Société = '" & strSociete & "', Ville = '" & strVille & "',Pays = '" & strPays & "', Adresse1 = '" & strAdresse1 & "',Adresse2 = '" & strAdresse2 & "', Adresse3 = '" & strAdresse3 & "',Adresse4 = '" & strAdresse4 & "', Code = '" & strCode & "',Tél1 = '" & strTel1 & "', Tél2 = '" & strTel2 & "',Fax1 = '" & strFax1 & "', Fax2 = '" & strFax2 & "',Sexe = '" & strSexe & "', Nom = '" & strNom & "',Prénom = '" & strPrenom & "', Commentaire = '" & strCommentaire & "',Email = '" & strEmail & "' WHERE Société = '" & SocieteCourante & "' ", con, adOpenDynamic, adLockOptimistic 'execution de la requete

La requete s'execute correctement ... encore que ... Je m'explique:
Quand je fais un update sur la majorité des tables, ils n'y a pas de soucis. Mais sur certaines d'entre elles il y a des caracteres qui lorsque je les inserts dans ma requete, font tout planter (a cause de ces caracteres, il interprete mes parametres comme du code SQL et ca ne lui plait pas des masses)
D'ou ma premiere question, existe-t-il une fonction qui permet de controler le contenu des variables que je passe en parametre dans ma requete? (à la maniere d'un addSlashes en php)
Mon deuxieme problème viens certainement du fait que j'ai mal configuré mon recordset, mais je ne trouve pas de solution.
Je voudrais tout simplement mettre une condition apres ma requete du type :

    If rec.BOF = False Then               
        MsgBox "Requete NOK"
    Else
        MsgBox "Requete OK"
 
   End If

Le hic c'est que je n'ai rien dans le BOF de mon Recordset
Je l'ai deja utilisé dans une autre classe mais avec une requete update, d'où ma deuxieme question ...
Mon Recordset est il correctement initialisé?
Merci par avance!

Voici le Code Complet :

Private Sub ModifierEnregistrement()
    Set con = New Connection
    Set Rec = New Recordset

    con.Provider = "Microsoft.Jet.Oledb.4.0"    'definition du pilote de connexion
    con.ConnectionString = "D:\DataBase.mdb"    'renseignement de la base à laquelle on va se connecter
    con.Open                                    'Ouverture de la connexion
   
    SocieteCourante = Main.GetNomSociete1
   
    strSociete = txtSociete.Text
    strAdresse1 = txtAdresse1.Text
    strAdresse2 = txtAdresse2.Text
    strAdresse3 = txtAdresse3.Text
    strAdresse4 = txtAdresse4.Text
    strCode = txtCode.Text
    strVille = txtVille.Text
    strPays = txtPays.Text
    strCommentaire = txtDescription.Text
    strNom = txtNom.Text
    strPrenom = txtPrenom.Text
    strTel1 = txtTel1.Text
    strTel2 = txtTel2.Text
    strFax1 = txtFax1.Text
    strFax2 = txtFax2.Text
    strEmail = txtEmail.Text
    Dim i As Integer
    Select Case radSexe(i)
        Case i = 0
            strSexe = 1
        Case i = 1
            strSexe = 2
        Case i = 2
            strSexe = 3
    End Select
    On Error GoTo erreur
        Rec.Open "UPDATE Fournisseur SET Société = '" & strSociete & "', Ville = '" & strVille & "',Pays = '" & strPays & "', Adresse1 = '" & strAdresse1 & "',Adresse2 = '" & strAdresse2 & "', Adresse3 = '" & strAdresse3 & "',Adresse4 = '" & strAdresse4 & "', Code = '" & strCode & "',Tél1 = '" & strTel1 & "', Tél2 = '" & strTel2 & "',Fax1 = '" & strFax1 & "', Fax2 = '" & strFax2 & "',Sexe = '" & strSexe & "', Nom = '" & strNom & "',Prénom = '" & strPrenom & "', Commentaire = '" & strCommentaire & "',Email = '" & strEmail & "' WHERE Société = '" & SocieteCourante & "' ", con, adOpenDynamic, adLockOptimistic 'execution de la requete
    'If rec.BOF = False Then               
    '    MsgBox "Requete NOK"
    'Else
    '    MsgBox "Requete OK"
    'End If
    MsgBox "Requete OK"
    Exit Sub
erreur:
   MsgBox "Pb de requete" + Err.Description
End Sub

mercredi 22 février 2006 à 15:54:27 | Re : Gestion recordset ... deux problèmes en un!

Poolky

Bon pour la deuxieme question c'est bon j'ai trouvé.
J'ai fais une méthode FormatToSQL dans laquelle j'appelle la methode Replace:

               Private Function FormatToSQL(ByVal strBase As String) As String
                   FormatToSQL = Replace(strBase, "'", "''")
               End Function


Ca marche parfaitement...



Cette discussion est classée dans : text, recordset, requete, con, msgbox


Répondre à ce message

Sujets en rapport avec ce message

ADO [ par Richard ] j'ai construit une feuille de données à l'aide de l'assistant et il m'a crée une requete SQL que j'ai modifié. La requete est du type:recordset.Open " Pb avec requete sql delete [ par Crazyblinkgirl ] Salut!J'ai un pb avec la requete suivante :sql = " delete * from employe where nom_emp = '" & TXTNOM.Text & "' and pre_emp = '" & TXTPRENOM.Text & "' un autre bleme a la con je bloque sur de truc tres con [ par Laulaut ] je voudrais que dans ma boite te text on peut que tape de chiffre et non des autres caractere et comme c'est pour des calcul il faut des virgule mais Requete SQL [ par Baronoirzereal ] Re.... je dois aussi compter le nombre d'enregistrements dans une base SQLServer... Ma requête est donc:Select Count(DocId) From dbo.doc;Puis je dois Pb avec Split() [ par Clonk ] Je dois utiliser la fonction Split() dans mon traitement, mais, à mon avis, je ne m'en sert pas très bien...voilà mon code:Dim TabDon(14, 0) as String Requete SQL sur un ADODB.Recordset [ par patrice8218 ] Bonjour,Je dois faire plusieurs requetes différentes sur les même enregistrements.Est il possible de récupérer ces enregistrements dans un recordset d connexion ADO et recordset?urgent [ par marlo ] je veux récupérer la valeur d'un recordset d'une connexion ADO "conn1".Set rs1 = New ADODB.Recordsetrs1.CursorType = adOpenStaticrs1.CursorLocation = recherche dans un recordset [ par reeznov ] bonjour,j ai une requete que j ai fais grace a un recordsetet j aimerai rechercher dans cet requete les champ qui contiennent un mot donné.voila mon c j'en perd mon latin... [ par scortex84 ] Salut ! J'ai besoin d'aide (comme d'hab...).Donc je veux comparer une chaine de caractere avec un champ de recordset pour effectuer une recherche sequ Requete SQL sur un Recordset [ par PaulScholes ] J'ai une table, dans laquelle, je veux faire 2 requêtes successives, une requete pour la periode, une autre pour le nom de l'entreprise, je suis oblig


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 0,967 sec (3)

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